728x90
반응형
질문 : JUnit 4 테스트에서 특정 예외가 발생한다고 어떻게 주장합니까?
일부 코드에서 예외가 발생하는지 테스트하기 위해 JUnit4를 관용적으로 어떻게 사용할 수 있습니까?
확실히 다음과 같이 할 수 있습니다.
@Test
public void testFooThrowsIndexOutOfBoundsException() {
boolean thrown = false;
try {
foo.doStuff();
} catch (IndexOutOfBoundsException e) {
thrown = true;
}
assertTrue(thrown);
}
나는 훨씬 덜 미봉책 훨씬 더 - 더 - 정신 상황의 이러한 종류에 대한의 JUnit입니다 주석 또는 Assert.xyz 또는 뭔가가 있다는 것을 기억합니다.
답변
JUnit 버전과 사용하는 어설 션 라이브러리에 따라 다릅니다.
- JUnit5 및 4.13의 경우 https://stackoverflow.com/a/2935935/2986984 답변을 참조하십시오.
- assertJ 또는 google-truth를 사용하는 경우 https://stackoverflow.com/a/41019785/2986984 답변을 참조하십시오.
JUnit <= 4.12
에 대한 원래 답변은 다음과 같습니다.
@Test(expected = IndexOutOfBoundsException.class)
public void testIndexOutOfBoundsException() {
ArrayList emptyList = new ArrayList();
Object o = emptyList.get(0);
}
대답 https://stackoverflow.com/a/31826781/2986984 에는 JUnit <= 4.12에 대한 더 많은 옵션이 있습니다.
참조 :
출처 : https://stackoverflow.com/questions/156503/how-do-you-assert-that-a-certain-exception-is-thrown-in-junit-4-tests
728x90
반응형
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
스택 추적을 잃지 않고 Java에서 예외 다시 던지기 (0) | 2021.06.09 |
---|---|
검색 메서드 'null'을 return VS return값을 생성 할 수 없을 때 예외를 throw (0) | 2021.06.05 |
한 줄로 ArrayList 초기화 (0) | 2021.06.02 |
[JAVA] 자바의 제네릭 Generic (0) | 2021.01.19 |
[JAVA] 자바의 스택 & 큐 (Stack & Queue) (0) | 2021.01.19 |