728x90
쿼리 메서드
- 쿼리 메서드는 스프링 데이터 JPA에서 제공하는 핵심 기능 중 하나
- Repository 인터페이스에 간단한 네이밍 룰을 이용하여 메서드를 작성하면 원하는 쿼리를 실행할 수 있다.(엔티티 이름 생략 가능)
쿼리 메서드 작성 예시 자세한 방법 : https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods
1. ItemRepository에 findByItemName 추가
2. ItemRepositoryImpl에서 findByItemName 구현
- JPQL을 이용하여 findyItemName을 구현한다.
3. findByName 테스트
- ItemRepositoryTest.class에 findBynameTest메서드 추가
- @SpringBootTest = SpringBoot를 이용한 통합 테스트를 위한 어노테이션
- 테스트 폴더에 설정한 위 2번의 application-test.properties의 설정이 우선권을 가진다.(H2데이터베이가 실행된다)
- @Autowird로 ItemRepository 인터페이스를 주입받는다.(구현체는 ItemRepositoryImpl)
- @DisplayName(테스트 이름을 결과창에 보여준다)
3.1 AssertJ(테스트 라이브러리)를 이용한 테스트
- DB에 테스트용 데이터가 없으므로 10개의 데이터를 생성하는 메서드를 findByItemName메서드에서 실행한다.
- assertThat(검증하려는 값).isEqualTo(예상 값) 검증하려는 값이 예상 값과 일치하는지 비교
자세한 내용 : https://assertj.github.io/doc
728x90