public class SimpleExpectedExceptionTest {
@Rule
public ExpectedException thrown= ExpectedException.none();
@Test
public void throwsNothing() {
// no exception expected, none thrown: passes.
}
@Test
public void throwsExceptionWithSpecificType() {
thrown.expect(NullPointerException.class);
throw new NullPointerException();
}
}
유효합니다. 그러나 테스트가 다른 순서로 실행되면 어떻게 될까요? @Rule 주석은 JUnit에게 각 테스트 후에 상태를 재설정하도록 지시합니까?
하나의 테스트가 다른 변수와 같은 전역 변수 (시스템 플래그와 같은)를 설정하여 순서 연결을 생성 할 수 있습니다. 나는 그것이 ExpectedException과 함께 일어나지 않는 이유를 모른다. – djechlin
@AAA JUnit은 테스트 사례를 설정하는 방법을 문서화합니다. 개발자가 다른 방식으로 작업을 수행하면 문제가 발생합니다. 결국, 당신은 도구를 사용하고 있습니다. 의도 한대로 사용하십시오. 그렇지 않으면 아무 것도 기대할 수 없습니다. –
@SotiriosDelimanolis 좋습니다, 그래서 ExpectedException을 어떻게 사용해야합니까? – djechlin