2016-09-16 7 views
0

흥미로운 문제에 직면하고 있습니다. NUnit3 콘솔을 사용하여 유닛 테스트를 실행하는 TeamCity 빌드 단계를 만들었습니다 (명령 줄을 통해).NUnit3 Teamcity 빌드 스텝의 일부로 "프로세스가 코드 -2로 종료되었습니다."

빌드 단계 설정 :

명령 실행 : SomeRootFolder의 \ 패키지 \ NUnit.ConsoleRunner.3.4.1 도구 \ nunit3 - Console.exe를 명령 매개 변수 \ SomeRootFolder \ 솔루션 \ 프로젝트. "! 고양이 = 느림"SLN --process = 단일 --timeout = 300000 --where는

빌드 단계는 예상대로 실행하기 시작합니다

> [01:42:29][Step 2/4] NUnit Console Runner 3.4.1 
> [01:42:29][Step 2/4] Copyright (C) 2016 Charlie Poole 
> [01:42:30][Step 2/4] Runtime Environment 
> [01:42:30][Step 2/4] OS Version: Microsoft 
>       Windows NT 6.3.9600.0 
> [01:42:30][Step 2/4] CLR Version: 
> [01:42:30][Step 2/4] 4.0.30319.34014 
> [01:42:30][Step 2/4] Test Files 
> [01:42:30][Step 2/4] SomeRootFolder\Solution\Project.sln 
> [01:42:30][Step 2/4] 
> [01:42:30][Step 2/4] Test Filters 
> [01:42:30][Step 2/4] Where: cat != Slow 
> Execution of 1000+ tests 
> [02:37:32][Step 2/4] Test Run Summary 
> [02:37:32][Step 2/4] Overall result: Failed 
> [02:37:32][Step 2/4] Test Count: 1337, Passed: 1289, Failed: 0, Inconclusive: 0, Skipped: 48 
> [02:37:32][Step 2/4] Skipped Tests - Ignored: 48, Explicit: 0, Other: 0 
> [02:37:32][Step 2/4] Start time: 2016-09-15 23:42:52Z 
> [02:37:32][Step 2/4]  End time: 2016-09-16 00:37:26Z 
> [02:37:32][Step 2/4]  Duration: 3273.646 seconds 
> [02:37:32][Step 2/4] 
> [02:37:32][Step 2/4] Results (nunit3) saved as TestResult.xml 
> [02:37:33][Step 2/4] Process exited with code -2 
> [02:37:33][Step 2/4] Step Nunit tests - investigation - full build (Command Line) failed 

만큼 적어도 1 테스트 코드 0과 모든과 실행 종료는 (단계 구축 실패로 표시되어 실패/통과 테스트에 대한 통계 등을보고) 어떤 문제를 팀 시티에보고, 실패

모든 테스트가 끝나면 코드 -2로 단계 종료를 빌드하십시오.

나는 또한 일부 개별 부품 (특정 어셈블리)을 테스트하려고 시도했지만 문제가없는 단계를 완료했으며 녹색 (코드 0으로 종료 됨)이었습니다.

어떤 아이디어가 있습니까? 이런 일이 발생했을 때만 모든 테스트가 통과하고 빌드 단계가 전체 솔루션으로 실행될 때 발생합니다.

답변

1

-2는 잘못된 어셈블리를 발견했을 때 제공되는 종료 코드입니다.

.sln에서 실행 - NUnit은 빌드 된 어셈블리 중 NUnit 관련 테스트 어셈블리를 찾아서 실행해야합니다. .sln 및 .proj 파일이 이제 형식을 변경하면이 기능이 완벽하지 않으므로 파일이 누락되는 경우가 있습니다.

모든 테스트 dll을 명령 줄에 순차적으로 나열하고 문제가 해결되는지 확인하십시오. 예 :

Command parameters: a.dll b.dll c.dll --process=single --timeout=300000 --where "cat != Slow" 

또는, TestResult.xml을보고 "무효"로 표시 "조립"구성 요소를 검색 할 수 있어야한다. NUnit이 무시해야하는 프로젝트 유형을 실행하려는 경우 bug report을 제출할 수 있습니다.