JUnit 5 Assertions

dia·2024년 12월 13일

assertAll

여러 개의 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))
);

assertArrayEquals

두 배열이 동일한지 확인

int[] expected = {1, 2, 3};
int[] actual = {1, 2, 3};
Assertions.assertArrayEquals(expected, actual);

assertDoesNotThrow

주어진 코드가 예외를 발생시키지 않는지 확인

Assertions.assertDoesNotThrow(() -> {
	int result = 1 + 1;
});

assertEquals

두 값이 동일한지 확인

int expected = 5;
int actual = 2 + 3;
Assertions.assertEquals(expected, actual);

assertFalse

주어진 조건이 false인지 확인

boolean condition = 1 > 2;
Assertions.assertFalse(condition);

assertInstanceOf

객체가 특정 클래스의 인스턴스인지 확인

Object obj = "Hello";
Assertions.assertInstanceOf(String.class, obj);

assertIterableEquals

두 iterable(컬렉션)이 동일한 요소를 가지는지 확인

List<String> expected = List.of("a", "b", "c");
List<String> actual = List.of("a", "b", "c");
Assertions.assertIterableEquals(expected, actual);

assertLinesMatch

두 문자열 리스트가 동일한 순서와 내용을 가지는지 확인

List<String> expected = List.of("line 1", "line 2");
List<String> actual = List.of("line 1", "line 2");
Assertions.assertLinesMatch(expected, actual);

assertNotEquals

두 값이 동일하지 않은지 확인

int expected = 5;
int actual = 3;
Assertions.assertNotEquals(expected, actual);

assertNotNull

값이 null이 아닌지 확인

String text = "JUnit";
Assertions.assertNotNull(text);

assertNotSame

두 객체가 동일한 객체가 아닌지 확인

Object obj1 = new Object();
Object obj2 = new Object();
Assertions.assertNotSame(obj1, obj2);

assertNull

값이 null인지 확인

String text = null;
Assertions.assertNull(text);

assertSame

두 객체가 동일한 객체인지 확인

Object obj1 = new Object();
Object obj2 = obj1;
Assertions.assertSame(obj1, obj2);

assertThrows

주어진 코드에서 특정 예외가 발생하는지 확인

Assertions.assertThrows(ArithmeticException.class, () -> {
	int result = 1 / 0;
});

assertThrowsExactly

주어진 코드에서 특정 예외가 정확히 발생하는지 확인

Assertions.assertThrowsExactly(ArithmeticException.class, () -> {
	int result = 1 / 0;
});

assertTimeout

주어진 코드가 지정된 시간 내에 완료되는지 확인
지정된 시간이 끝나도 계속 수행

Assertions.assertTimeout(Duration.ofMillis(100), () -> {
	//수행할 내용
});

assertTimeoutPreemptively

주어진 코드가 지정된 시간 내에 완료되는지 확인
지정된 시간이 끝나면 즉시 종료

Assertions.assertTimeoutPreemptively(Duration.ofMillis(100), () -> {
	//수행할 내용
});

assertTrue

주어진 조건이 true인지 확인

boolean condition = 2 + 2 == 4;
Assertions.assertTrue(condition);

fail

테스트 실패 발생

if (condition) { // 비정상적 상황 발생
	fail("Unexpected condition met");
}


API Reference Documentation: Assertions

profile
CS 메모장

0개의 댓글