전체 보기
🍀

JPA 동적 쿼리(with Sort), 시간 측정 테스트 코드

작성일자
2023/08/22
태그
DIARY_DEVELOP
프로젝트
FIS
책 종류
1 more property

jpa 동적 쿼리(with Sort)

orderBy는 아래 두 방식으로 사용 가능하다.
1번
List<Application> a = findAllByOrderByCreatedAtDesc();
JavaScript
복사
2번
List<Application> a = findAll(Sort.by(Sort.Direction.DESC, "createdAt"));
JavaScript
복사
나는 2번 방식을 택했다.
querydsl을 사용한 것처럼 메서드를 호출할 때 필요한 정렬 조건을 동적으로 지정할 수 있게 되기 때문이다.

시간 측정 테스트코드

에러 코드
해결
코드를 위에서 아래로 변경해 시간 민감도를 줄임
// when LocalDateTime beforeCreatedAt = LocalDateTime.now(); Application savedApplication = applicationRepository.save(application); LocalDateTime afterCreatedAt = LocalDateTime.now(); // then assertTrue(savedApplication.getCreatedAt().isAfter(beforeCreatedAt)); assertTrue(savedApplication.getCreatedAt().isBefore(afterCreatedAt));
JavaScript
복사
Duration duration1 = Duration.between(beforeCreatedAt, savedApplication.getCreatedAt()); assertTrue(duration1.getSeconds() >= 0 && duration1.getSeconds() <= 1); Duration duration2 = Duration.between(savedApplication.getCreatedAt(), afterCreatedAt); assertTrue(duration2.getSeconds() >= 0 && duration2.getSeconds() <= 1);
JavaScript
복사