2012-06-05 2 views
1

Cruise Control과 연속 빌드 프로세스를 통합했습니다. EOD에서 빌드 보고서를 생성합니다. NUnit 테스트 케이스가 실패하면 빌드가 실패합니다. 우리는 하나의 특정 테스트 케이스를 작성하여 별도의 dll에 추가했습니다. 해당 어셈블리에서 테스트 케이스가 실패하면 빌드가 실패하지 않기를 바랍니다. 우리는 MSBuild 대상, .proj 파일 및 크루즈 컨트롤, ccnet 구성 파일을 사용하고 있습니다.MSBuild 특정 NUnit 테스트가 실패하더라도 실패하지 않아야합니다.

답변

1

NUnit을 두 번 호출합니다. 한 번 테스트를 통과하지 못하면 빌드를 실패하고 두 번째로 테스트 결과를 실행하여 빌드에 영향을 미치지 않도록합니다 (예 :

<!-- Any failing tests in Assembly1.dll will cause the build to fail. --> 
<Exec Command="nunit.exe Assembly1.dll" /> 

<!-- Any failing tests in Assembly2.dll won't fail the build because the ContinueOnError attribute is set to True. --> 
<Exec Command="nunit.exe Assembly2.dll" ContinueOnError="True" /> 
+1

테스트 중 하나라도 실패하면 ContinueOnError를 true로 설정하면 해당 어셈블리의 나머지 테스트가 실행됩니다. 그러나 테스트가 실패하기 때문에 Build가 실패합니다. 따라서 ContinueInError = true가 작동하지 않습니다. – user660232

관련 문제