[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 | 
|---|