[테스트 토크 작성 방법]
1. given : 어떤 상황이 주어졌을 때
2. when : ~를 실행했을 때
3. then : 검증한 결과가 ~가 나와야함
given, when는 실행 단계, then는 검증 단계라고 할 수 있다.
- 실행 단계 : 사용자 입력을 모방해 테스트할 로직을 실행시킴
- 검증 단계 : 실행 단계가 예상된 대로 동작하는지 검증
■ assertThat()은 테스트에서만 쓰일까?
- 결과가 예상과 같은지를 검증할 때 사용
- 주로 src/test/java 디렉토리에 있는 단위 테스트, 통합 테스트 등에서 사용
■ AssertJ란?
assertion을 제공하는 자바 라이브러리이다. 에러 메세지와 테스트 코드의 가독성을 매우 높여준다.
■ AssertJ 메소드 임포트

■ assertThat 메서드 정리
1) 공통 메서드 (다양한 타입에 사용 가능)
- isEqualTo(Object expected) : 값이 일치하는지 확인
- isNotEqualTo(Object expected) : 값이 일치하지 않는지 확인
- isNull() : null인지 확인
- isNotNull() : null이 아닌지 확인
- isSameAs(Object expected) : 동일한 객체 참조인지 확인
- isNotSameAs(Object expected) : 다른 객체 참조인지 확인
- isInstanceOf(Class<?> tpye) : 특정 클래스의 인스턴스인지 확인
ex)

>> rateDiscountPolicy 객체가 RateDiscountPolicy 타입인지 확인한다는 의미
2) 문자열 관련 메서드
- isEmpty() : 빈 문자열인지 확인
- hasSize(int expected) : 문자열의 길이 확인
- hasSizeGreaterThan(int expected) : 문자열의 길이가 특정 값보다 큰지 확인
- hasSizeLessThan(int expected) : 문자열의 길이가 특정 값보다 작은지 확인
'JAVA' 카테고리의 다른 글
[JAVA] DIP (의존 관계 역전 원칙) (0) | 2025.04.12 |
---|---|
[JAVA] ISP (인터페이스 분리 원칙) (0) | 2025.04.08 |
[JAVA] LSP (리스코프 치환 원칙) (0) | 2025.04.07 |
[JAVA] SRP (단일 책임 원칙) (0) | 2025.04.06 |
[JAVA] OCP (개방 폐쇄 원칙) (0) | 2025.04.06 |