주요글: 도커 시작하기

얼마전 회사 동료분이 JpaRepository가 아닌 Repository를 상속하는 이유에 대해 물어본 적이 있는데 그때 나눈 내용을 요약하면 아래와 같다.

  1. 메서드가 많으면 단위 테스트에서 명령 모델 리포지토리의 가짜 구현을 만들기 어렵다.
  2. 불필요한 메서드가 있으면 잘못 사용할 수 있다.

전체 내용은 아래 유튜브 영상을 참고한다.

 

  1. lee 2020.12.29 18:23

    안녕하세요. 영상 잘 보았습니다.

    혹시 가짜구현 예제의 MemoryUserRepository에서 모든 메소드에 대해 실제 구현을 한다는 것인가요?
    단위테스트에서 가짜 구현 부분을 Test double로는 커버하지 못하는 것이라 실제 구현이 필요한지 궁금합니다!

    • 최범균 madvirus 2020.12.30 00:12 신고

      네 가능하면 MemoryUserRepository는 모든 메서드에 대해 (기대하는 동작을 하도록) 구현을 한다는 겁니다.
      MemoryUserRepository도 테스트 더블 중 하나인 가짜 구현에 속하구요.

    • lee 2020.12.30 01:13

      혹 mock나 spy같은 것으로는 대처가 불가능 한 환경인가요? 아니면 가짜구현이 더 나은 장점이 있기에 선택하신 것 일까요?

    • 최범균 madvirus 2020.12.30 22:24 신고

      개인적으로는 가짜 구현이 요소 간 연동 변화에 테스트가 깨질 가능성이 더 적은 것 같아요.

  2. 최범균 madvirus 2020.12.30 22:23 신고

    개인적으로는 가짜 구현이 요소 간 연동 변화에 테스트가 깨질 가능성이 더 적은 것 같아요.

    • lee 2020.12.30 22:36

      아하 그렇군요.
      연동 부분에서 변화가 생기면 영향을 미치는 모든 곳을 찾아 mocking을 바꿔야 하니 놓치는 부분도 많이 생길 수 있다는 말씀으로 이해가 되었는데 경험이 적어 제대로 이해 했는지 잘 모르겠네요 ㅎㅎ

      mocking을 할때와 가짜구현을 할 때를 나누는 기준을 좀 더 조사해봐야 할 것 같습니다ㅜㅜ

      귀찮으셨을텐데 상세히 답변 기재해주셔서 감사합니다!

  3. 딸랑딸랑 2021.02.17 16:53

    잘 보고 갑니다...

+ Recent posts