Classist vs Mokist
나는 입장이 원래 Mokist였다 왜냐하면 애초에 계층이 Persistence를 테스트했는데 왜 BusinessLayer에서 왜 테스트하냐
이미보장됬는데 이런입장이었다가 강의를 듣고 Transactional을 안걸어주면 생기는 오류라던지 이런것을 통합해서하면은
알수도있고 같이 결합하면은 사이드이펙트가 발생할수도있다라는생각이 든다. 이부분은 JPA를 쓸때 더티체킹이라던지
할때가 가장 큰것같다.그러나 외부API호출하는부분에서는 Mock을 통해 테스팅하는것이다.
우리시스템 테스트하면서 외부가 에러가나면은 어쩔수없기떄문이다Mocking했을때 실제 프로덕션코드에서 런타임 시점에일어날일을
정확하게 100%재현할 수 있나 실제구현체를 불러오는것만큼
테스트를하는것은 리스크랑 오류를 발견해서 조치할려는것도 작성하는의도라고생각한다
따라서 안전하게 통합테스트를 하여 실제객체를 테스트하는게 더 좋을 것 같다라는생각이 든다
TDD 개인적 생각
TDD정말 요즘 유행하는거 같고 해보고싶다. 그런데 이게 정말 좋은것인가?
라는 의문이 든다. 왜냐하면 프로덕션을 작성하거나 아니면은 테스트를 짠다는거에 의미를 두어서 테스트를 자동화를 중요하게 생각하기때문이다.
그래서 TDD보단 어떻게 테스트할지 어떻게 테스트해야하는지에 초점을 맞추자 라는게 개인적 생각이다