여러 개의 assert를 묶어서 한 번에 실행하고 모두 검사
List<Integer> numbers = List.of(1, 2, 3);
Assertions.assertAll(
() -> Assertions.assertEquals(1, numbers.get(0)),
() -> Assertions.assertEquals(2, numbers.get(1)),
() -> Assertions.assertEquals(3, numbers.get(2))
);
두 배열이 동일한지 확인
int[] expected = {1, 2, 3};
int[] actual = {1, 2, 3};
Assertions.assertArrayEquals(expected, actual);
주어진 코드가 예외를 발생시키지 않는지 확인
Assertions.assertDoesNotThrow(() -> {
int result = 1 + 1;
});
두 값이 동일한지 확인
int expected = 5;
int actual = 2 + 3;
Assertions.assertEquals(expected, actual);
주어진 조건이 false인지 확인
boolean condition = 1 > 2;
Assertions.assertFalse(condition);
객체가 특정 클래스의 인스턴스인지 확인
Object obj = "Hello";
Assertions.assertInstanceOf(String.class, obj);
두 iterable(컬렉션)이 동일한 요소를 가지는지 확인
List<String> expected = List.of("a", "b", "c");
List<String> actual = List.of("a", "b", "c");
Assertions.assertIterableEquals(expected, actual);
두 문자열 리스트가 동일한 순서와 내용을 가지는지 확인
List<String> expected = List.of("line 1", "line 2");
List<String> actual = List.of("line 1", "line 2");
Assertions.assertLinesMatch(expected, actual);
두 값이 동일하지 않은지 확인
int expected = 5;
int actual = 3;
Assertions.assertNotEquals(expected, actual);
값이 null이 아닌지 확인
String text = "JUnit";
Assertions.assertNotNull(text);
두 객체가 동일한 객체가 아닌지 확인
Object obj1 = new Object();
Object obj2 = new Object();
Assertions.assertNotSame(obj1, obj2);
값이 null인지 확인
String text = null;
Assertions.assertNull(text);
두 객체가 동일한 객체인지 확인
Object obj1 = new Object();
Object obj2 = obj1;
Assertions.assertSame(obj1, obj2);
주어진 코드에서 특정 예외가 발생하는지 확인
Assertions.assertThrows(ArithmeticException.class, () -> {
int result = 1 / 0;
});
주어진 코드에서 특정 예외가 정확히 발생하는지 확인
Assertions.assertThrowsExactly(ArithmeticException.class, () -> {
int result = 1 / 0;
});
주어진 코드가 지정된 시간 내에 완료되는지 확인
지정된 시간이 끝나도 계속 수행
Assertions.assertTimeout(Duration.ofMillis(100), () -> {
//수행할 내용
});
주어진 코드가 지정된 시간 내에 완료되는지 확인
지정된 시간이 끝나면 즉시 종료
Assertions.assertTimeoutPreemptively(Duration.ofMillis(100), () -> {
//수행할 내용
});
주어진 조건이 true인지 확인
boolean condition = 2 + 2 == 4;
Assertions.assertTrue(condition);
테스트 실패 발생
if (condition) { // 비정상적 상황 발생
fail("Unexpected condition met");
}
API Reference Documentation: Assertions