해결된 질문
작성
·
145
0
강의를 보면 Repository 테스트는 spring까지 엮어서 통합테스트로 진행하는데
예전에 김영한님께서 좋은 테스트 코드는 spring과 엮지 않고 작성된 단위 테스트 코드가 좋은 코드라고 하셔서
Service 단은 repository를 mock 객체로 생성하여서 spring을 배제하고 테스트를 진행하면서 연습했습니다
하지만 repository를 테스트 하는데 있어서는 실제 db와 엮지않고는 테스트 코드 작성하기가 어려웠습니다
혹시 inmemorydatabase를 가지고 테스트 하는 것은 통합테스트에 포함되지 않는 것인지 궁금하고
포함된다면 어떻게 해야지 좋은 단위 테스트를 작성할 수 있는지 물어봐도 되겠습니까?
답변 1
1
안녕하세요. Peachberry님 좋은 질문입니다.
핵심 서비스로직은 단위테스트를 만들기 좋은데
repository는 inmemborydatabase를 가지고 통합 테스트하는 것이 더 나은 방법이라 생각합니다.
(사실 리포지토리는 쿼리가 잘 실행되는지 그런 부분을 테스트 해야 하는데, 실제 데이터베이스까지 실행되어야 그 결과를 정확하게 알 수 있는 경우가 많습니다.)
감사합니다.