💡 테스트 수행 결과를 판별하는 메서드, 반환 타입은 void
💡 모든 Junit Jupiter Assertions는 static 메서드
[1] assertEquals(Object expected, Object executable, {실패 메시지})
기대하는 값과 수행한 값이 같으면 테스트 성공
[2] assertNotEquals(Object unexpected, Object executable)
기대하는 값과 수행한 값이 다르면 테스트 성공
[3] assertSame(Object unexpected, Object executable)
기대하는 값과 수행한 값이 같은 reference(객체)이면 테스트 성공
[4] assertTrue(boolean condition)
조건이 true면 테스트 성공
[5] assertFalse(boolean condition)
조건이 false면 테스트 성공
[6] assertNull(Object executable)
수행한 값이 null이면 테스트 성공
[7] assertNotNull(Object executable)
수행한 값이 null이 아니면 테스트 성공
[1] Assertions
assertAll(executables ...)
: 매개변수로 받는 모든 테스트코드를 한 번에 실행
💡 오류가 나도 끝까지 실행하고 결과를 한 번에 모아서 출력
assertThrows(expectedType, executable)
: executable를 실행 시 expectedType의 예외가 발생하는지 확인
assertTimeout(duration, executable)
: executable 실행 시 duration 시간 안에 완료되는지 확인
[2] Assumptions
특정 조건이 true면 테스트 실행, false면 테스트 종료
💡 주로, 특정 환경에서만 테스트해야 할 때 사용
assumeTrue
: false일 때 이후로 테스트 전체가 실행되지 않는다.
assumingThat
: 파라미터로 전달된 코드블럭만 실행되지 않는다.
@Test
void dev_only_test1() {
assumeTrue("DEV".equals(System.getenv("ENV")), () -> "DEV 개발 환경이 아닙니다.");
assertEquals("No", "No"); // 실행되지 않음
}
@Test
void dev_only_test2() {
assumingThat("DEV".equals(System.getenv("ENV")),
() -> {
assertEquals("No", "No"); // 실행되지 않음
});
assertEquals("Yes", "Yes"); // 실행됨
}