리포지토리 or 서비스를 진행할 때 각 메서드를 Test하여 문제가 있는지 확인하는 것도 중요합니다.
그래야 문제가 생기는 곳을 빠르게 파악하여 해결할 수 있기 때문입니다.
TEST 단계

개발을 진행하면서 Repository의 기능을 Test하기 위해 만들어진 클래스입니다.
@DataJpaTest를 통해 JPA 테스트에 필요한 최소한의 Bean만 로드하여
프로그램에 부하를 줄여줍니다.
또 메서드 테스트가 끝나면 DB의 변경사항을 자동으로 롤백하여,
DB에 지저분한 데이터(더미데이터)가 쌓이는 것을 막아줍니다.
@Transactional 을 포함하고 있어, 테스트 메서드가 트랜잭션 안에서 실행되도록 만들어줍니다.
트랜잭션 안에서 테스트가 수행되어, 테스트가 끝날 때까지 데이터가 커밋되지 않도록 만들어줍니다.
@DataJpaTest의 롤백기능은 @Transactional을 의존하여 작동합니다.
Repository에서 등록(insert) 쿼리 만들기

Repository를 통해 DB에 데이터 등록을 요청하는 메서드를 만들어 줍니다.
DB에 데이터 등록만 하기 때문에, 조회 데이터가 없어 return값이 따로 없습니다.
Repository Test 하기

Test를 통해 Repository에서 만든 save( ) 메서드가 잘 작동하는 지 확인합니다.

디버그 테스트 결과로 데이터들이 잘 작동된 것을 확인했습니다.
요약
이런 식으로 개발을 진행하면서 만들어진 메서드들을 test해보면서 문제점이 있는지 확인하면
개발을 진행 할 때 오류가 발생하는 부분을 빠르게 파악하고 해결 할 수 있습니다.
자주 사용하여 차후에 문제가 발생했을 때 어느 부분에서 문제가 생겼는지 찾아보고 해결하는
시간을 줄일 수 있습니다.
Share article