[JUnit + AssertJ] 주요 메서드Back-End/Test Code2025. 4. 1. 15:30
Table of Contents
주요 메서드 정리
JUnit 주요 메서드 (org.junit.jupiter.api.Assertions)
메서드 | 설명 | 예시 |
---|---|---|
assertEquals(expected, actual) |
값이 같은지 비교 | assertEquals(10, sum) |
assertNotEquals(expected, actual) |
값이 다르면 통과 | assertNotEquals(0, result) |
assertTrue(condition) |
조건이 true면 통과 | assertTrue(value > 0) |
assertFalse(condition) |
조건이 false면 통과 | assertFalse(list.isEmpty()) |
assertNull(value) |
값이 null이면 통과 | assertNull(user.getAddress()) |
assertNotNull(value) |
null이 아니면 통과 | assertNotNull(user) |
assertThrows(Class, Executable) |
예외 발생 여부 확인 | assertThrows(IllegalArgumentException.class, () -> doSomething()) |
AssertJ 주요 메서드 (org.assertj.core.api.Assertions)
메서드 | 설명 | 예시 |
---|---|---|
assertThat(actual).isEqualTo(expected) |
값 비교 | assertThat(result).isEqualTo(10) |
isNotEqualTo() |
같지 않음 확인 | assertThat(name).isNotEqualTo("admin") |
isTrue() / isFalse() |
boolean 값 검증 | assertThat(flag).isTrue() |
isNull() / isNotNull() |
null 검증 | assertThat(obj).isNotNull() |
contains() |
리스트, 문자열 포함 여부 확인 | assertThat(list).contains("apple") |
hasSize(n) |
컬렉션 크기 확인 | assertThat(users).hasSize(3) |
startsWith() / endsWith() |
문자열 시작/끝 확인 | assertThat(name).startsWith("김") |
extracting("필드명") |
객체 내부 필드 꺼내기 | assertThat(user).extracting("name").isEqualTo("철수") |
isInstanceOf() |
타입 검증 | assertThat(e).isInstanceOf(IllegalStateException.class) |
assertThatThrownBy() |
예외 타입/메시지 검증 | assertThatThrownBy(() -> join(null)).isInstanceOf(...) |
실무에서 자주 등장하는 조합
assertThat(user.getName()).isEqualTo("홍길동");
assertThat(users).hasSize(2).contains(user1, user2);
assertThrows(IllegalArgumentException.class, () -> doSomethingBad());
assertThatThrownBy(() -> memberService.join(member))
.isInstanceOf(IllegalStateException.class)
.hasMessage("이미 존재하는 회원입니다.");
'Back-End > Test Code' 카테고리의 다른 글
[JUnit] 테스트 코드 애노테이션 (0) | 2025.04.01 |
---|