2009-11-17 7 views
2

(마지막으로) 내 응용 프로그램을 CPPUnit에서 단위 테스트를 받아 테스트를 실행하고 테스트 출력을 표시하는 CruiseControl.NET이 있습니다. 그러나 항상 실패하는 테스트가 몇 가지 있습니다. 따라서 CruiseControl은 항상 빌드를 실패로 표시합니다. 이 항상 실패한 테스트를 "끄거나"건너 뛰거나 "무시"할 수있는 방법이 있습니까? 우리는 현재 비즈니스 이유로 해결할 수없는 유효한 오류를 앱에서 지적하고 있기 때문에 소스에서 주석을 달지 않고 차기 릴리스에서 해결할 수 있습니다. 가능하다면 테스트를 실행하고 결과를 볼 수는 있지만 CPPUnit을 실패로 간주하지 마십시오 (또는 CruiseControl 수준에서 무시할 수도 있음).CPPUnit에서 단위 테스트를 끄는 방법

답변

0

G'day,

당신은 testSuite_ * 코드의 개별 테스트를 언급 할 수 없다?

편집 : 죄송합니다. 질문을 완전히 구문 분석하지 않았습니다. 하지만 testSuite_는 어떤 방식 으로든 관련된 개별 테스트를 그룹화하는 방법입니다. 우리가 사용하고있는 LD_PRELOAD 재 매핑 라이브러리의 경우 몇 가지 테스트 스위트가 있습니다.

testSuite_access.c 
testSuite_acl.c 
testSuite_chdir.c 
testSuite_chmod.c 
...  
etc. 

그 그룹은 여러 특정 테스트를 거쳐 특정 OS 명령을 실행합니다.

그러나 그것에 대해 생각을 가지고, 실제로 당신이 말한를 읽고는 (- : 당신은 작업 CppUnit을의 기능을 유지하고 실패로, 즉, 아직 테스트하지 않다고 그것으로 재생되지 할 것

.

그래서 CruiseControl의 동작으로 알려진 실패를 무시하고 놀아 보는 것이 좋습니다. 당분간은 "허용"으로 플래그를 붙이십시오 (예 : 녹색 또는 빨간색 상태가 아닌 빌드의 황색 상태).

CruiseControl은 매우 구성 가능하며 위키에 활성 커뮤니티가 있습니다. home page을 통해 액세스 할 수 있습니다.

HTH

난 당신이 CruiseControl에 동작을 수정하기보다는 CppUnit을 놀 것을 추천에서 떨어져 더 구체적인 수 없습니다 죄송합니다.

+0

질문 : "가능한 경우 테스트를 실행하고 결과를보고 싶지만 CPPUnit을 실패로 간주하지 마십시오." –

+0

나는 당신이 무엇인지 이해하지 못한다고 생각합니다. "testSuite_ * 코드"를 의미합니다. AFAIK, 내 테스트 앱에는 그런 코드가 없습니다. 나는 편의 매크로를 사용하고 있는데, 아마도 당신이 의미하는 바가 그것으로 인해 난독 화된다 ... – rmeador

+0

@rmeador, 조금 더 많은 정보와 제안을 추가했다. –

1

cppunit 요리 책에 demonstrated으로 테스트를 구성하여 테스트 스위트로 구성 할 수 있습니다. 나는 "실패한 것으로 알려진"테스트를 별도의 테스트 스위트에 넣을 것이다. 그런 다음이 테스트 스위트를 실행할시기와 무시할시기를 선택할 수 있습니다.

관련 문제