2012-09-01 4 views
4

Assumptions을 사용하면 테스트에 더 많은 의미를 추가 할 수 있지만 가정이 거짓 인 경우 테스트가 실패하는 대신 오류가 발생합니다 (물론 더 좋습니다). 그럴 때마다 테스트를 건너 뛸 수있는 방법이 있습니까?jUnit 테스트를 건너 뛸 수 있습니까?

예를 들어, 내가 오프라인 일 때, 테스트는 의미가 없으며 의미를 추가하지 않습니다. 나는 오프라인이고 테스트를 전혀 실행하지 않는다는 사실을 알고 싶습니다. 따라서 fail()도 아니요, pass()도없고,이 테스트가 존재하지 않는 것처럼 행동하십시오.

AppConnector appConn = new AppConnector(url, RequestType.POLL); 
    Assume.assumeTrue(appConn.connect()); 

    try { 
     // stuff 
    } catch (Exception e) { 
     fail(); 
    } 
+1

이 질문에서 두 번째 대답을 원합니다. http://stackoverflow.com/questions/1689242/conditionally-ignoring-tests-in-junit-4 –

답변

3

extended jUnit을 사용하여, 나는 전제 조건을 필요에 따라이 작동

@RunIf(value = HttpChecker.class, arguments = "http:internal_site_url") 

을 포함하는 내 테스트를 수정했습니다. 이 테스트는 회사 내부에서 실행될 때만 실행되며 그렇지 않으면 전혀 실행되지 않습니다.

테스트에 실패하면 정상적인 이유로 실패합니다.

관련 문제