on
[Ch.4] 엔티티의 테스트
[Ch.4] 엔티티의 테스트
테스트 데이터 300개를 추가하고 시작
cannot find symbol entity.Guestbook 오류가 떠서 setting - build..~ - buil tool - gradle 에서 방식을 인텔리제이로 바꾸니 사라졌다.
결과
수정 시간 테스트
방명록의 제목과 내용을 수정할 수 있는 메서드를 Guestbook 클래스에 추가
GuestbookRepositoryTests 클래스에 updateTest 메서드를 추가
300번의 moddate와 regdate가 변경된 것을 확인할 수 있다.
Querydsl 테스트
제목/내용/작성자 중 하나의 항목으로 검색
제목 + 내용/ 내용+작성자/ 제목+작성자 같이 2개의 항목으로 검색
제목+내용+작성자 3개의 항목으로 검색
querydsl 사용법
BooleanBuilder 생성
조건에 맞는 구문은 Predicate 타입 함수 생성
BooleanBuilder에 생성된 Predicate를 추가하고 실행
1️⃣ 단일 항목 테스트
동적으로 처리하기 위해서 Q도메인 클래스를 이용해 엔티티 클래스에 선언된 필드를 변수로 활용 BooleanBuilder는 where문에 들어가는 조건을 넣어주는 컨테이너 원하는 조건은 필드 값과 결합해서 생성. BooleanBuilder 안에 들어가는 값은 com.querydsl.core.types.Predicate 타입이어야 한다. ( ⭐ Java Predicate 아님) 만들어진 조건을 where문에 and/or 키워드와 결합 BooleanBuilder는 QuestbookRepository 에 추가된 QuerydslPredicateExcutor 인터페이스의 findAll()을 사용할 수 있다.
다중 항목 검색 테스트
예시 조건 : title 혹은 content에 특정 키워드가 있고 'gno가 0보다 크다'
exTitle과 exContent를 (1)에서 결합하고 BooleanBuilder에 추가(2), 'gno가 0보다 크다' 조건 추가(3)
제목+내용+작성자로 검색
exWriter 표현을 추가하고 builder에서 or로 이어줌
from http://honeypot.tistory.com/140 by ccl(A) rewrite - 2021-11-08 14:01:27