2013-07-30 4 views
7

유닛 테스트에 실패하면 TeamCity 빌드를 중단 할 수 있습니까? (전체 빌드, 즉 후속 단계를 실행하지 않음)? 이상적으로 나는 현재 Nunit Test Runner가 될 수있는 현재 실행중인 단계를 종료하고 싶습니다. 내 상황에서는 단일 단위 테스트가 실패 할 경우 빌드를 계속할 필요가 없습니다. 실패 조건을 살펴 보았지만 빌드가 계속 실행될 때 적용 할 수 있다고 생각하지 않습니다.TeamCity - 테스트 실패시 빌드 중지

기능 요청 : http://youtrack.jetbrains.com/issue/YTF-3275

+0

원하는 것은 아니지만 닫기 : http://stackoverflow.com/questions/15254581/teamcity-running-build-steps-even-when-tests-fail – adrianbanks

+1

그냥 시가에 가깝지만 시가는 없지만 나는 이것을 조심해야한다는 것을 상기시켰다. 해결 방법이 있습니다.이 http://youtrack.jetbrains.com/issue/TW-17002의 마지막 코멘트를 확인하십시오. 그러나 이것은 내가 원하는 것은 아니며, 테스트가 실패 할 때 실행을 멈추고 싶습니다. –

답변

3

당신은 NUNIT-의 Console.exe를 사용 할 수 있습니다. 공식 문서 (http://nunit.org/index.php?p=consoleCommandLine&r=2.6.2)에 따라 정확히 필요한 작업을 수행하는/stoponerror 스위치가 제공됩니다.

또한 "테스트"탭을 채우기 위해 팀 빌드 (해당 빌드 기능이 있음)로 구문 분석 할 수있는 XML 출력을 생성 할 수 있습니다.

+0

이 작업을 수행하는 유일한 방법 인 것 같습니다. hackish입니다. TeamCity에 연락하여 기능 요청을 제출할 수 있는지 여부를 확인했습니다. –

+0

8.0.5의 경우에도 마찬가지입니까? 이제는 고쳐야 할 것 같네요. XUnit 또는 MSTest가 더 잘 지원됩니까? –

6

명시된 바와 같이 TeamCity는 "빌드 상태가 성공적인 경우에만"단계 실행 조건을 사용하여 NUnit 테스트에서 테스트 실패시 빌드 단계를 더 이상 실행할 수 없습니다. 그러나 이는 단계가 완료 될 때까지 테스트 실행을 중지시키지 않습니다.

관련 기능 요청은 TW-23766입니다.

내가 현재 고려할 수있는 유일한 해결책은 NUnit 테스트 러너를 사용하지 않고 빌드 스크립트 내에서 로직을 구현하는 것입니다. 예를 들어 Manuel이 언급 한 nunit-console.exe를 사용합니다. 이 경로를 따르려면 TeamCity Addin for NUNit을 사용해보십시오.

+0

이것이 올바른 해결책입니다. 감사합니다. – Gent

관련 문제