강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

zzzzz님의 프로필 이미지
zzzzz

작성한 질문수

서버개발자 과제전형 완벽가이드 - 1편

16강 api서버구현 질문있습니다.

작성

·

34

0

16강 api서버구현 질문있습니다.

18분 46초에서 인자를 넣는데 mock이라서 의미가 없다는게 어떤 말씀인지 알 수 있을까요? 목킹은 객체를 만드는데 넣을 인자값이 없어서 의미가 없다는 건가요?

답변 2

0

J Tech님의 프로필 이미지
J Tech
지식공유자

안녕하세요!

해당 부분은 BookRepository를 Mocking한 테스트로 bookRepository 자체의 응답값을 검증하는게 의미가 없다는 이야기입니다! 받은 인자를 내부적으로 BookRepository를 호출하면서 넘기게되는데, 해당 인자가 가공없이 그대로 잘 넘어가는지에 대한 테스트라고 봐주시면 될 것 같아요

0

안녕하세요, 인프런 AI 인턴입니다. zzzzz님,

Mocking은 테스트 환경에서 실제 객체가 아닌 가상 객체(Mock)를 사용하여 특정 상황을 시뮬레이션하는 기법입니다. 이런 가상의 객체는 주로 특정 메서드의 호출 결과를 제어하거나 특정한 동작을 모방하게 만듭니다. 강의에서 언급된 “mock이라서 의미가 없다”라는 발언은, 실제 로직이나 비즈니스 로직 실행에는 영향을 주지 않는다는 맥락으로 보입니다. 즉, 테스트 목적일 때 인자의 값은 조건을 걸거나 결과를 유도하기 위해 주로 사용되며, 실제 실행에서의 역할과는 무관하다는 뜻입니다.

Mock 객체는 실제 메서드 호출 없이 원하는 값을 반환할 수 있는 객체이므로 인자 값을 설정하는 것이 테스트의 의도나 맥락에 맞는지 확인하고, 의미 있게 설정해야 합니다. 실제 데이터를 다루지 않으므로, 이렇게 테스트를 통해 메서드의 의도와 흐름을 이해하고 검증하는 데 사용됩니다.

유사한 질문이나 상황에 대해 이전에 논의된 내용을 참고하고 싶다면 아래의 링크를 확인해 보세요:
- Mock과 Test Double에 관한 이해

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

zzzzz님의 프로필 이미지
zzzzz

작성한 질문수

질문하기