ysk(0soo)
Lifealong
ysk(0soo)
전체 방문자
오늘
어제
  • 분류 전체보기 (238)
    • Java (50)
      • whiteship-java-study (11)
      • Java (28)
      • time (6)
    • Spring (68)
      • JPA (15)
      • Spring (1)
      • SpringBoot (1)
      • SpringMVC (6)
      • Spring Security (22)
      • Jdbc (1)
      • RestDocs (14)
      • log (6)
    • Kotlin (3)
    • Web (2)
      • nginx (1)
    • Database (14)
      • MySQL (5)
      • PostgreSQL (1)
      • SQL (1)
      • Redis (4)
    • C, C++ (0)
    • Git (1)
    • Docker (2)
    • Cloud (3)
      • AWS (3)
    • 도서, 강의 (0)
      • t5 (0)
    • 기타 (7)
      • 프로그래밍 (1)
    • 끄적끄적 (0)
    • CS (14)
      • 운영체제(OS) (2)
      • 자료구조(Data Structure) (9)
    • 하루한개 (12)
      • 우아한 테크코스-10분테코톡 (12)
    • 스터디 (12)
      • 클린 아키텍처- 로버트마틴 (2)
      • JPA 프로그래밍 스터디 (10)
    • 테스트 (34)
      • JUnit (19)
      • nGrinder (2)
      • JMeter (0)
    • Infra (3)
    • 프로그래머스 백엔드 데브코스 3기 (0)
    • 디자인 패턴 (3)
    • Issue (4)
    • system (1)
      • grafana (0)
      • Prometheus (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • github

공지사항

인기 글

태그

  • querydsl
  • 동일성
  • 동시성 제어
  • nginx basic auth
  • 가상 스레드 예외 핸들링
  • AuthenticationException
  • node exporter basic auth
  • FilterSecurityInterceptor
  • UserDetailsService
  • StructuredConcorrency
  • AccessDecisionManager
  • nGrinder
  • java
  • 구조화된 동시성
  • tree
  • restdocs custom
  • 정규표현식
  • DataJpaTest
  • mysql
  • 가상 스레드
  • LocalDateTime
  • jpa
  • 동등성
  • 인가(Authorization) 처리
  • junit5
  • 트랜잭션
  • scope value
  • AccessDecisionVoter 커스텀
  • restdocs enum
  • VirtualThread Springboot

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ysk(0soo)

Lifealong

테스트/JUnit

JUnit5 리스트가 정렬 조건에 맞게 정렬되었는지 검증하는법

2023. 3. 4. 21:15

List가 특정한 기준으로 정렬할 때 보통, Comparator 인터페이스를 사용하여 정렬 기준을 지정한다.

// List를 정렬할 Comparator
Comparator<String> comparator = (s1, s2) -> s1.compareTo(s2);

// List를 정렬
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("cherry");
list.sort(comparator);

이제, List가 특정한 기준으로 정렬되었는지 확인하려면, 다음과 같이 assert 메소드를 사용하여 비교하면 된다.

// List가 특정한 기준으로 정렬되었는지 확인
assertThat(list).isSortedAccordingTo(comparator);

assertThat() 메소드를 사용하여 List를 비교하고,
isSortedAccordingTo() 메소드를 사용하여 정렬 기준(comparator)에 따라 정렬되어 있는지 확인한다.

만약, List가 정렬되어 있지 않다면, 해당 assert 문에서 AssertionError 예외가 발생한다.

assertThat(list).isSortedAccordingTo((o1, o2) -> o1.compateTo(o2));

역순인지 검증하려면?

assertThat(list).isSortedAccordingTo((o1, o2) -> o2.compareTo());

요소로 검증하려면?

//ASC
assertThat(list).isSortedAccordingTo(Comparator.comparing(Date::getCount()));

// DESC
assertThat(list).isSortedAccordingTo((o1, o2) -> o2.count().compareTo(o1.count()));
저작자표시 비영리 (새창열림)

'테스트 > JUnit' 카테고리의 다른 글

변하는 값을 테스트 하는 방법(LocalDateTime, UUID, Random)  (0) 2023.03.21
Mockito Stub 작성 시 주의 사항  (0) 2023.01.28
Mock vs. Stub vs. Spy  (0) 2023.01.28
Java Collection, List, Array 비교, 검증  (0) 2023.01.25
@WebMvcTest Security 401 403 응답 해결방법 - csrf  (0) 2023.01.25
    '테스트/JUnit' 카테고리의 다른 글
    • 변하는 값을 테스트 하는 방법(LocalDateTime, UUID, Random)
    • Mockito Stub 작성 시 주의 사항
    • Mock vs. Stub vs. Spy
    • Java Collection, List, Array 비교, 검증
    ysk(0soo)
    ysk(0soo)
    백엔드 개발을 좋아합니다. java kotlin spring, infra 에 관심이 많습니다. email : kim206gh@naver.com github : https://github.com/devysk

    티스토리툴바