-
AssertJ 사용하기JAVA 2020. 9. 15. 23:09
AssrtJ란?
- 테스트코드 작성을 쉽게 도와주는 라이브러리
- 메소드 체이닝 지원
준비
java8 이상 -> 3.x 버전
java7 이하 -> 2.x버전
maven
<dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <!-- use 2.9.1 for Java 7 projects --> <version>3.11.1</version> <scope>test</scope> </dependency>
gradle
testCompile("org.assertj:assertj-core:3.11.1")
사용방법
static import해놓으면 훨씬 더 깔끔하게 사용가능하다
import static org.assertj.core.api.Assertions.assertThat;
값이 같은지 검증하기(주소값 아님)
- isEqualTo()
@Test public void eq(){ String name ="최민"; assertThat(name).isEqualTo("최민"); // success }
List속성값 검증하기
- extraction("속성명").containsExactly("필드의 값1", "필드의 값2","필드의 값3")
@Test public void list(){ User user1 = new User("피카츄"); User user2 = new User("파이리"); User user3 = new User("꼬부기"); List<User> list = new ArrayList<>(); list.add(user1); list.add(user2); list.add(user3); assertThat(list).extracting("name") .containsExactly("피카츄","파이리","꼬부기");//success assertThat(list).extracting("name") .containsExactly("피카츄"); //fail }
Object 객체 값 검증하기
@Test public void objectValue(){ User user = new User("피카츄"); assertThat(user).extracting("name").isEqualTo("피카츄"); // success }
예외 검증하기
@Test public void expt(){ assertThatThrownBy(() -> { throw new IllegalArgumentException("ABC 에러발생"); }).isInstanceOf(IllegalArgumentException.class) .hasMessageContaining("ABC 에러발생"); // 에레메세지 일치 success }
참고
'JAVA' 카테고리의 다른 글
model mapping 라이브러리 Mapstruct (0) 2021.07.08 [JAVA] 배열 오름차순, 내림차순 (0) 2019.10.13 [JAVA] String StringBuffer StringBuilder (0) 2019.08.26 [JAVA] IntelliJ에서 Stream 디버깅하기 (0) 2019.03.30 [JAVA] JSON 다루기 정리 (JACKSON - ObjectMapper) (0) 2018.11.25