JavaMailServiceImpl을 사용하는 UserService가 있다고 생각해보자.
테스트를 진행하려는데 JavaMailServiceImpl을 사용하되 실제 메일은 보내지지 않았으면 좋겠다.
이런 경우에는 JavaMailServiceImpl을 위한 Interface인 MailSender를 둔 후, MailSender만 사용한다.
UserService에서는 DI를 통해 운영 시에는 JavaMailServiceImpl을, 테스트 시에는 DummyMailService를 사용하게 만든다면 의도한 대로이다.

추상화와 DI를 잘 활용하는 것이 Spring이라는 Framework를 잘 사용하는 것인 것 같다.
'개발 > TEST관련' 카테고리의 다른 글
테스트 주도 개발 3~9장 (0) | 2020.06.15 |
---|---|
테스트 주도 개발 - 1~2장 (0) | 2020.05.24 |
테스트 주도 개발 (2) | 2020.05.24 |
댓글