2012-07-10 3 views
4

Visual Studio에서 5 가지 테스트 메소드를 작성했습니다.주어진 테스트 케이스가 실패 할 경우 전체 테스트 스위트를 중단합니다.

이제 두 번째 테스트 케이스가 실패하면 (테스트) 프로그램을 종료하고 싶습니다. 즉, 내 코드가 두 번째 테스트 케이스에 도달했다고 가정하고, 실패하면 전체 테스트 스위트를 중단해야합니다.

어떻게하면됩니까?

+1

는 "2 차 테스트 케이스를"정의? NUnit은 실행 순서를 유지하지 않습니다. – Matten

답변

1

Environment.Exit()을 사용하여 현재 실행중인 전체 "프로그램"을 종료 할 수 있습니다. 종료 코드도 지정하는 것을 잊지 마십시오 (일반적으로 오류가 없으면 종료 코드 0, 오류가 발생하면 종료 코드 0).

실제로 일부 단위 테스트가 실패하면 프로그램을 종료하는 것이 유용하다고 생각하지 않습니다. 그러나 다음과 같은 문을 사용하여 가능하다 : 위해

Environment.Exit(0) 

당신이 테스트 목록을 사용할 수있는 행의 단위 테스트, 자세한 내용은 "How to use test lists"를 참조하십시오 (귀하의 경우 5 년) 다른 실행합니다.

+0

Matten, 나는 NUnit이 exe의 순서를 유지하지 않는다는 것을 알지 못했습니다. 정보를 주셔서 감사합니다, 그것을 위해 대안을 찾았습니다 :) – theVincentTor

+0

감사합니다 조, 대답을 ^^ – theVincentTor

1

나는 당신이 Ordered Tests을 찾고 있다고 생각합니다.

Ordered Test을 만들고 원하는 순서대로 Unit Tests을 추가하십시오. 때 Unit Test 중 하나는 나머지는 실행되지 않습니다 실패 :

enter image description here

+0

어떻게 하나의 테스트 케이스가 실패하더라도 모두를 실행할 수 있습니까? – kbvishnu

+0

'Ordered Test'를 사용할 수 없습니다. 이들을 모두 실행해야하는 경우 다른 모든 테스트를 포함하는 (실행하는) "상위"테스트를 만들어야합니다. 그러나이 경우 검사가 완전히 영향을받지 않아야합니다. 이 [link] (http://stackoverflow.com/questions/8931678/ordering-coded-ui-tests-and-results-in-test-manager/9118815#9118815)을 확인하십시오. – Schaliasos

+0

방금 ​​발견했습니다. 'Continue after failure'라는 주문 테스트를 작성할 때 매개 변수가 있습니다. 이 값을 'true'로 설정하면 실패한 경우에도 모든 테스트가 실행됩니다. – Schaliasos

관련 문제