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

나뭇잎님의 프로필 이미지

작성한 질문수

쥬쥬와 함께 하루만에 끝내는 스프링 테스트

행위 검증하기 : 실제로 메소드가 호출되었을까?

Mock 객체 사용법

해결된 질문

작성

·

208

0

아직 mock 사용법이 이해가 안가는데 실제로 db에 저장도 안되고 jpa repository 호출도 안되는 건가요? db가 올라간 도커를 내려도 잘 되네요

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
Mock 객체는 실제 객체를 대체하는 가짜 객체로, 님께서 이해하신 것처럼 실제 DB에 저장되지 않고 JPA Repository 호출도 실제로는 이루어지지 않습니다. @MockBean 어노테이션을 사용하여 실제 컴포넌트 대신 Mock 객체를 등록하고 테스트에서 이를 활용하는 것이죠. 이를 통해 외부 의존성 없이 빠르게 단위 테스트를 실행할 수 있습니다. 예를 들어, 실제 DB가 올라간 도커를 내리더라도 Mock 객체를 사용하는 테스트는 여전히 정상적으로 작동합니다. 추가적인 정보는 아래의 URL에서 확인하실 수 있습니다.

이 문서를 참조하시면 Mock 객체를 사용하는 방법과 예제 코드를 더 자세히 알아볼 수 있습니다.