본문 바로가기
Spring/JPA

[Spring] RepoLayer에서 assertThat과 assertAll 활용법

by windy7271 2025. 3. 25.
728x90
반응형

안녕하세요!
오늘은 JPA Repository 테스트를 작성할 때
리스트 반환 결과를 검증하는 방법과
여러 조건을 한 번에 검증하는 방법에 대해 소개하려고 합니다. 😎

 

✅ 1. 리스트 크기 검증 — hasSize()

Repository 메서드 실행 후 반환된 결과가 리스트라면,
리스트의 크기를 검증할 때 아래와 같이 사용합니다.

assertThat(result).hasSize(0);
  • 결과가 비어있는 경우 (크기 = 0)를 확인하는 코드입니다.
  • 주로 실패 케이스나 데이터가 없을 때 검증할 때 자주 씁니다.

 

✅ 2. 여러 조건 한 번에 검증 — assertAll()

결과값의 크기, 포함된 값 등 여러 조건을 한 번에 검증하려면
assertAll() 을 활용하면 깔끔합니다.

 
assertAll(
        () -> assertThat(result).hasSize(2),
        () -> assertThat(result).containsExactlyInAnyOrder( 
                LocalDate.of(2025, 1, 2),
                LocalDate.of(2025, 1, 3)
        )
);

 

  • containsExactlyInAnyOrder() 는 순서 상관없이 값이 모두 포함됐는지 검증합니다.
  • 만약 순서까지 검증하고 싶다면 containsExactly() 를 사용하시면 됩니다.
반응형