[참고] Assertj 필수 부분 정리
[ Baeldung ] Assertj Exception assertion
assertj soft assertion
테스트를 위한 많은 프레임워크들 중에 AssertJ만이 특별한 기능을 제공합니다. 그것은 soft assertion라고 불리는데, 동시에 여러개의 테스트를 할 때 중간에 에러가나도 멈추지 않고, 모든 검사를 실행하고 결과를 보여줍니다.
@Test public void soft_assertion_assertj_test(){ User user = new User("Yuri", "Bushnev", "bushnevyuri@gmail.com"); SoftAssertions softly = new SoftAssertions(); softly.assertThat(user).isNotNull(); softly.assertThat(user.getName()).isEqualTo("Yuri"); softly.assertThat(user.getSurename()).isEqualTo(""); softly.assertThat(user.getEmail()).isEqualTo("bushnevyurigmail.com"); softly.assertAll(); }
객체 비교
usingRecursiveComparison()
- 내부 필드들 각각 다 비교하는 것. 동일성 비교가 아닌 동등성 비교
List에 대해서 필드 뽑아내서 비교 시(extracting)
assertThat(expenditures) .extracting(Expenditure::getUserCategory, Expenditure::getName) .isEqualTo(List.of(tuple(null, "name1"), tuple(null, "name2"), tuple(null, "name3")));