• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

유닛 테스팅하기, MockRepository는 믿을만 한가요?

21.07.10 11:08 작성 조회수 196

1

너무 밑도 끝도 없는 질문이라 죄송합니다.

Repository의 logic에서 핵심이 되는 logic을 뽑아서 가짜 MockRepository를 만들고 사용하면, 사실 실제 코드랑 테스트 코드랑 달라질 우려가 있지 않나요?
그건 감안하고 해야 하는 부분인가요?
실제와 비슷한 수준으로 만들 수 있으면 좋겠지만, 그건 말씀하신대로 어려울 거 같고, 자칫하다가는 자기만족으로 끝날까 하는 노파심에 말씀드립니다.

또, 테스트 용도의 DB를 하나 더 만드는 것에 대해서는 어떻게 생각하시나요? 이런 경우는 없나요?
DB를 그대로 쓰는 쪽이 더 안전하다고 생각하는데, 현업에서는 보기 힘든 경우인지 여쭤보고 싶습니다.

답변 2

·

답변을 작성해보세요.

0

dragontiger님의 프로필

dragontiger

2021.07.17

저도 SpringBoot 하다가 넘어왔는데 거기선 h2 DB라는 메모리형 DB로 테스트 용도로만 사용했었어요.

저도 실무에서 테스트코드 만들어두려는데 sqlite로 파일형DB로 구현해볼까 합니다.

아이디어 얻으려 들어와봤는데 아직 정보가 많이 없네용 ㅠ

0

kscodebase님의 프로필

kscodebase

질문자

2021.07.10

테스트가 코드 작성보다 선행되어야 한다면, 테스트 코드를 만들고 Mock 을 만드는 건 Mock에 대한 테스트지, 실제 Repository ( Service )에 대한 테스트가 아니지 않나, 하는 생각이 듭니다.

테스트가 코드 작성보다 선행되는건 tdd를 할 때 그런것이고요. 코드를 작성한 후 테스트를 할 수도 있죠. 내가 테스트하길 원하는 부분을 제외하고는 모킹을 하는 것이고요. 서비스를 테스트할 때는 레포지토리는 모킹하는 겁니다. 실제 디비를 껴서 테스트하는 것은 e2e 테스트때 하시면 됩니다.

kscodebase님의 프로필

kscodebase

질문자

2021.07.10

빠른 답변 감사합니다! 이 정도로 빨리 답이 올 거라고 생각 못했습니다. 강의를 순서대로 보지 않고 필요한 부분을 찾아가며 보고 있어서요, 아직은 e2e 테스트 부분을 안봐서 몰랐네요! 이해했습니다. 서비스를 테스트하기 위함이군요... :)