안녕하세요 영한님
영한님 강의들을 통해서 스프링이 무엇인지도 몰랐던 저는 이제 팀을 만들어 프로젝트를 하고 개발이라는 것에 즐거음을 느끼고 있는 개발 취준생입니다.
최근 프로젝트를 진행하면서 JPA 사용하는 중에 테스트 코드에서 어려운 부분이 있어 너무 궁금하여 질문을 남깁니다.
저는 물류 관리 시스템의 주제로 프로젝트를 진행하고 있습니다.
이 과정에서 엔티티과 연관관계를 복잡하게 가지고 있고 이로 인해서 서비스 테스트 코드 하나를 테스트하기 위해 많은 사전 데이터가 필요한 상태입니다.
테스트 코드를 작성하기 위해서 많은 Mock 데이터가 필요한 문제점을 해결하기 위해서 실무에서는 어떤 식으로 이런 문제를 해결하는지 궁금합니다.
혹시나 이 글을 보신다면 답변 해주시면 정말 감사하겠습니다. ㅠㅠ👏👏
안녕하세요. 김도영님, 공식 서포터즈 David입니다.
먼저, 서비스 클래스의 메서드가 너무 많은 일을 하고 있는건 아닌지 살펴볼 것 같습니다.
서비스를 조금 더 잘게 쪼갤 수 있다면 테스트도 잘게 쪼갤 수 있게 되고 그러면 한 번에 많은 엔티티를 구성해야 하는 부담도 덜 수 있습니다. 이는 엔티티에도 동일하게 적용해 볼 수 있습니다.
만약 쪼갤 수 없고 현상태를 유지해야 한다면 데이터 초기화 파일을 이용하거나 테스트 픽스처를 구성할 것 같습니다.
데이터 초기화 파일의 경우 아래를 참고해 주세요.
https://docs.spring.io/spring-boot/how-to/data-initialization.html
데이터 초기화에 필요한 더미 데이터 생성을 돕는 도구들도 있으니 참고해 주세요:)
감사합니다.
답글