개발/자바

Assertions 클래스 (JUnit 5)

피터JK 2025. 2. 14. 14:34
728x90

📌 Assertions 클래스 (JUnit 5)

JUnit 5에서는 org.junit.jupiter.api.Assertions 클래스를 사용하여 다양한 단언(assert) 메서드를 제공합니다.

✅ 기본 값 비교

메서드 설명
assertEquals(expected, actual) 기대값과 실제값이 같은지 확인
assertNotEquals(expected, actual) 기대값과 실제값이 다른지 확인
assertSame(expected, actual) 두 객체가 동일한 객체인지 (== 비교) 확인
assertNotSame(expected, actual) 두 객체가 동일한 객체가 아닌지 확인
assertTrue(condition) 조건이 true인지 확인
assertFalse(condition) 조건이 false인지 확인
assertNull(actual) 값이 null인지 확인
assertNotNull(actual) 값이 null이 아닌지 확인

✅ 배열 & Iterable 비교

메서드 설명
assertArrayEquals(expectedArray, actualArray) 배열의 모든 요소가 같은지 확인
assertIterableEquals(expectedIterable, actualIterable) Iterable(리스트, 셋 등)의 요소들이 같은지 확인

✅ 예외 처리

메서드 설명
assertThrows(Exception.class, () -> {...}) 특정 예외가 발생하는지 확인
assertDoesNotThrow(() -> {...}) 예외가 발생하지 않는지 확인

✅ 시간 검증

메서드 설명
assertTimeout(Duration.ofMillis(500), () -> {...}) 지정한 시간 내에 실행되는지 확인
assertTimeoutPreemptively(Duration.ofMillis(500), () -> {...}) 지정한 시간 내에 실행되지 않으면 즉시 중단

✅ 그룹 테스트

메서드 설명
assertAll("테스트 그룹", () -> assertTrue(...), () -> assertEquals(...)) 여러 개의 테스트를 그룹으로 묶어 한 번에 실행

📌 Assert 클래스 (JUnit 4)

JUnit 4에서는 org.junit.Assert 클래스를 사용하여 유사한 단언 메서드를 제공합니다.

JUnit 4  JUnit 5 (대응)
Assert.assertEquals(expected, actual) Assertions.assertEquals(expected, actual)
Assert.assertNotEquals(expected, actual) Assertions.assertNotEquals(expected, actual)
Assert.assertTrue(condition) Assertions.assertTrue(condition)
Assert.assertFalse(condition) Assertions.assertFalse(condition)
Assert.assertNull(actual) Assertions.assertNull(actual)
Assert.assertNotNull(actual) Assertions.assertNotNull(actual)
Assert.assertSame(expected, actual) Assertions.assertSame(expected, actual)
Assert.assertNotSame(expected, actual) Assertions.assertNotSame(expected, actual)
Assert.assertArrayEquals(expectedArray, actualArray) Assertions.assertArrayEquals(expectedArray, actualArray)
Assert.fail("에러 메시지") Assertions.fail("에러 메시지")

JUnit 5에서는 더 많은 기능을 제공하고 가독성이 좋아졌기 때문에, 가능하면 JUnit 5를 사용하는 것이 좋습니다. 🚀

728x90