on
AssertJ 기본 사용법
AssertJ 기본 사용법
1. AssertJ란?
AssertJ란 asssertion(직역 : 주장)을 제공하는 자바 라이브러리로 에러 메세지와 테스트 코드의 가독성을 높여주는 라이브러리이다.
junit5에서 제공하는 Assertions의 assert는 인자 순서 (expected, actual)의 순서가 헷갈릴 수 있는데 Assertions보다 가독성이 좋아진다.
assertEquals(expected, actual); assertThat(actual).isEqualTo(expected);
또한 메소드 체이닝을 지원하기 때문에 좀 더 깔끔하고 읽기 쉬운 테스트 코드를 작성할 수 있다.
개발자가 테스트를 하면서 필요한 거의 모든 메소드를 제공한다.
2. 의존성 추가
//maven org.assertj assertj-core 3.21.0 test //gradle testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.21.0'
3. 메소드 임폴트
import static org.assertj.core.api.Assertions.*;
4. 테스트 대상 지정
assertThat(테스트 타켓).메소드1().메소드2().메소드3();
5. 문자열 테스트 예시
assertThat("Hello, world! Nice to meet you.") // 주어진 "Hello, world! Nice to meet you."라는 문자열은 .isNotEmpty() // 비어있지 않고 .contains("Nice") // "Nice"를 포함하고 .contains("world") // "world"도 포함하고 .doesNotContain("ZZZ") // "ZZZ"는 포함하지 않으며 .startsWith("Hell") // "Hell"로 시작하고 .endsWith("u.") // "u."로 끝나며 .isEqualTo("Hello, world! Nice to meet you."); // "Hello, world! Nice to meet you."과 일치합니다.
6. 숫자 테스트 예시
assertThat(3.14d) // 주어진 3.14라는 숫자는 .isPositive() // 양수이고 .isGreaterThan(3) // 3보다 크며 .isLessThan(4) // 4보다 작습니다 .isEqualTo(3, offset(1d)) // 오프셋 1 기준으로 3과 같고 .isEqualTo(3.1, offset(0.1d)) // 오프셋 0.1 기준으로 3.1과 같으며 .isEqualTo(3.14); // 오프셋 없이는 3.14와 같습니다
공유하기 글 요소 저작자표시
from http://insight-bgh.tistory.com/508 by ccl(A) rewrite - 2021-11-15 21:01:46