강의내용 중 Fake Repository 질문
284
7 asked
안녕하세요. 강의 잘 듣고있습니다.
제가 요즘 TDD에 대해서 이제 막 공부를 시작했습니다. 테스트방법에 대해서 mocking, stubbing이 있더라구요. 강의 내용 중 말씀해주신 FAKE 객체를 만들어서 테스트하는 방식이 Stubbing 방식이란 같은 것일까요? 실무에서도 Mockking 보다는 Stub객체를 만들어서 테스트하는 경우가 더 많은가요?
아직 mocking과 stub객체를 사용해서 테스트 하는 방식의 차이나 목적이 이해가 잘 되지 않아서 질문드립니다.
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
Fake 객체를 만들어 테스트하는 방식은 스텁(Stub)과 유사한 개념입니다. 스텁은 테스트 중에 호출되는 메소드에 대해 미리 정해진 응답을 제공하는 간단한 구현체입니다. 반면, 목킹(Mocking)은 테스트 중에 객체의 특정 동작을 시뮬레이션하고, 해당 동작이 호출되었는지, 어떤 결과를 반환했는지 등을 검증할 수 있습니다.
실무에서는 상황에 따라 목킹과 스텁을 선택적으로 사용합니다. 복잡한 의존성이 있거나, 외부 시스템과의 통신을 대체해야 할 때는 목킹을 사용하고, 간단한 데이터 반환 등은 스텁을 사용할 수 있습니다. 따라서 어느 하나가 더 많이 사용된다기보다는 테스트하고자 하는 상황과 목적에 따라 적절한 방법을 선택하는 것이 중요합니다.
목킹과 스텁을 사용하는 목적의 차이를 알고 싶으시다면, 목킹은 테스트하려는 코드와 외부 컴포넌트 사이의 상호작용을 검증하기 위해 사용되며, 스텁은 테스트하려는 코드에 필요한 간접 입력을 제공하는 데 초점을 맞춥니다.
이런 차이점을 이해하는 것이 중요하며, 따라서 둘 사이에 명확한 경계가 있을 수 있음을 알아두시는 것이 좋습니다.
주니어 개발자가 더 나아가기 위한 조언을 부탁 드려도 될까요?
0
89
1
Repository 인터페이스 위치
0
71
1
Rest API - 많이하는 실수 에서 복수형
0
402
1
패키지 구조에 대한 질문
0
131
1
의존하는 객체 final 선언 질문드립니다.
0
159
1
의존성 주입에서 파라미터 주입과 필드 주입 관련 질문 드립니다.
0
183
1
변하는 값을 추상화 시켜라
0
306
1
외래키를 지양하라는 질문에 대한 궁금증
0
2995
2
안녕하세요 아랫분 질문에 서 궁금한점이 있어서 질문드립니다
0
452
2
@Entity != RDB Table에 대한 질문입니다.
1
496
2
의존성조언에서 UserService의 login은 Clock에 의존하는지 모르지 않나요?
0
462
2
MySQL 사용에 대한 조언 질문있습니다.
0
865
2
강의와 크게 상관은 없지만 공부의 방향성에 대해서 질문합니다.
1
635
2
진짜 객체지향과 테스트하기 쉬운 코드를 위헤서는 jpa가 의미없는게 아닌가하는 생각이 들어요
2
1855
2
c. Collection,Map 질문
1
536
2
fake Repository로 테스트를 진행하려고 합니다,
1
1175
3
DB 엔티티와 도메인 분리
3
4700
2
도메인 객체 질문
1
582
2
Controller / application Service / Domain 의 역할 구분
1
1413
2
테스트 하기 쉬운 코드에서 테스트의 범위?
1
675
2
스프링에서 서비스 레이어(Apllication Layer) 테스트에 대한 질문입니다.
2
895
2
Repository 대신 Reader / Writer 사용 질문있습니다!!
1
709
2
ProductService부분에서 리팩토링 언급 질문
1
387
2
IoC != DI에 대한 질문입니다.
1
833
2

