유닛 테스팅하기, MockRepository는 믿을만 한가요?
392
2 asked
너무 밑도 끝도 없는 질문이라 죄송합니다.
Repository의 logic에서 핵심이 되는 logic을 뽑아서 가짜 MockRepository를 만들고 사용하면, 사실 실제 코드랑 테스트 코드랑 달라질 우려가 있지 않나요?
그건 감안하고 해야 하는 부분인가요?
실제와 비슷한 수준으로 만들 수 있으면 좋겠지만, 그건 말씀하신대로 어려울 거 같고, 자칫하다가는 자기만족으로 끝날까 하는 노파심에 말씀드립니다.
또, 테스트 용도의 DB를 하나 더 만드는 것에 대해서는 어떻게 생각하시나요? 이런 경우는 없나요?
DB를 그대로 쓰는 쪽이 더 안전하다고 생각하는데, 현업에서는 보기 힘든 경우인지 여쭤보고 싶습니다.
Answer 2
0
저도 SpringBoot 하다가 넘어왔는데 거기선 h2 DB라는 메모리형 DB로 테스트 용도로만 사용했었어요.
저도 실무에서 테스트코드 만들어두려는데 sqlite로 파일형DB로 구현해볼까 합니다.
아이디어 얻으려 들어와봤는데 아직 정보가 많이 없네용 ㅠ
0
테스트가 코드 작성보다 선행되어야 한다면, 테스트 코드를 만들고 Mock 을 만드는 건 Mock에 대한 테스트지, 실제 Repository ( Service )에 대한 테스트가 아니지 않나, 하는 생각이 듭니다.
0
테스트가 코드 작성보다 선행되는건 tdd를 할 때 그런것이고요. 코드를 작성한 후 테스트를 할 수도 있죠. 내가 테스트하길 원하는 부분을 제외하고는 모킹을 하는 것이고요. 서비스를 테스트할 때는 레포지토리는 모킹하는 겁니다. 실제 디비를 껴서 테스트하는 것은 e2e 테스트때 하시면 됩니다.
0
빠른 답변 감사합니다! 이 정도로 빨리 답이 올 거라고 생각 못했습니다. 강의를 순서대로 보지 않고 필요한 부분을 찾아가며 보고 있어서요, 아직은 e2e 테스트 부분을 안봐서 몰랐네요! 이해했습니다. 서비스를 테스트하기 위함이군요... :)
강의자료는 어디서 다운받나요?
0
119
4
질문 있습니다.
0
300
3
코드 편집기 확장 프로그램
0
210
2
(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?
0
148
2
(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문
0
171
3
로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.
0
153
2
로그인방법이 고민됩니다.
0
191
2
yarn seed 명령어 실행 시 데이터 삽입 안됨
0
297
4
yarn run db:create 시에 발생하는 데코레이터 오류
0
244
2
npm run db:create 시에 발생하는 decorating 오류
0
235
2
RxJS 디버깅 질문 있습니다.
0
190
3
CacheManager에 대해 질문 있습니다.
0
176
2
로깅은 어떻게 하는게 효율적일까요?
0
226
1
CORS 질문 있습니다.
0
418
2
쿠키 옵션에 대해서 질문 있습니다.
0
185
2
로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??
0
450
1
401 unauthorized문제
0
290
1
가드의 장점에 대해서 질문이 있습니다.
0
225
1
로그 관리에 대해 질문 있습니다.
0
253
2
CORS 에러 질문 있습니다.
0
319
2
배포 환경 DB 연결 질문 있습니다.
0
411
2
socket io 미 연결 문제 (nest & flutter)
1
1156
3
no elements in sequence 에러 관해서 질문이 있습니다.
0
456
1
start:dev-backup으로 돌리면 핫 리로딩이 되요 정상인가요?
0
323
1

