Stubbing을 주로 외부 api를 호출할 때 사용하나요?
826
작성한 질문수 25
안녕하세요~ 'Mockito로 Stubbing하기' 강의를 듣고 궁금한 내용이 있습니다.
메일을 전송하는 부분을 stubbing하셨는데요.
보통 어떤 경우에 실무에서 stubbing하여 테스트를 작성하나요? 감이 잘 안잡히네요..
제가 이해한건 아래처럼 이해했습니다.
sendMail 메서드에 대한 테스트는 '메일만 전송'하는 테스트를 작성한다.
sendOrderStatisticsMail 테스트를 작성하는 도중 sendMail 부분은 이미 '1번'에서 따로 테스트 케이스를 작성했으므로 넘어가도 무방하다. 따라서 여기는 stubbing하여 간단하게 넘어간다. 즉, 이번 예시에서는 메일이지만 확장하여 생각해본다면 외부 api를 호출하는 경우에는 stubbing을 진행한다.
답변 2
0
안녕하세요, John J님! :)
맞습니다. 기본적으로 외부 API에 대해서 mocking 을 하게 되는데요.
조금 더 확장해서 생각한다면 내가 제어할 수 없는 행위 에 대해서 mocking을 사용한다고 보시면 됩니다.
메일 전송의 경우에는 mocking하지 않는다면 테스트를 수행할 때마다 어딘가로 메일을 보내거나 해야할텐데.. 아무리 테스트 계정에 메일을 전송하도록 구성한다고 해도 테스트 수행시간 측면이나, 애초에 테스트하고자 하는 내용이 아니기 때문에 메일 전송은 [성공 or 실패]를 가정(stubbing)하고 테스트를 작성하는 것이 좋은 것이죠.
감사합니다. :)
private 상수 테스트 관련 질문
0
82
1
void는 어떻게 테스트하나요..? void로 애초에 코딩하면 안되나요??
0
123
2
커버리지는 어떻게 활용하시는지 궁금합니다.
0
158
2
테스트 문서화 질문입니다
0
104
2
단위테스트 질문이 있습니다
0
93
2
컨트롤러는 모킹을 한 이유가 궁금합니다.
0
100
2
ERD 가장자리에 있는 도메인 테스트 질문
0
86
2
DTO 검증 필드에 대한 테스트 코드 작성은 어디까지?
0
131
2
OrderCreateRequest DTO에 대해서 궁금한점
0
101
2
고전파의 테스트 대역 사용 대상, 공유 의존성
0
153
2
계층 관련 질문이 있습니다.
0
137
3
'코틀린'에서는 빌더를 따로 쓰지 않는데, 이 때는 어떻게 test fixture를 만드시는지 궁금합니다
1
121
2
혹시 update 로직은 어떻게 테스트하나요? (@Setter?)
0
133
2
단위테스트와 통합테스트의 경계가 궁금합니다.
0
224
2
Service+Repository 통합테스트 관련 질문입니다.
0
149
2
OrderControllerDocsTest 작성 해봤는데요. 날짜 형식이 이상하게 나와요
0
183
2
test 용 .yml
0
89
2
throws Exception
0
78
2
카페키오스크 클래스 문의 ,,
0
87
2
Rest docs 문서용 테스트코드를 따로 작성해야 되나요?
0
171
2
테스트 코드에서 필요한 생성자
0
135
1
tearDown 순서
0
114
2
@Builder 생성자 private
0
133
2
@DisplayName gradle / intellJ
0
91
2





