원래 단위테스트할때
mock 써서 했는데
우연히 테스트코드 관련 유튜브 영상보다가 향로님 블로그에 mock을 지양하라는 글을 봤는데
생각해보니 맞는말 같아서 (mock을 쓰면 테스트 코드짜기가 간편해짐 <- 오히려 이게 문제고 의존성이 ㅈㄴ많아도 그냥 무지성 mock쓰면 되니까..)
그레서 mock 안쓰고 실제 객체를 최대한 써보려고 했는데
실제 객체 쓰기 애매한 부분은 예를들어 실제 db에 의존하는 Repository는 어찌하나 싶어서 Fake 객체로 만들어서
실제 db 타는것처럼 구현해서 그걸로 테스트 하는 방식으로 해봤음
근데 이게 매번 테스트 할때마다 Fake 객체를 만들어서 쓰고 이런게 시간이 좀 잡아먹을거같다는 생각이 들었음
그렇다고 h2 인메모리 db나 TestContainers 같은거 쓰기에는 스프링 컨테이너 띄워야 하니까 테스트 시간도 늘어나고 그럼 단위테스트 의미가 없어지고
고수님들 테스트 코드 짤때 어떤 방식으로 하시나요??
향로님이 목을 쓰지말고 페이크객체를 쓰라고 권장했다고? 링크 줘봐
글 찾아보니까 1개 나오던데 내용 본질은 결국 mock을 지양하라는게 아니라 mockbean, spybean을 지양하면 프로덕션 클래스 디자인을 잘 만들어야 한다는게 보인다는 이야기잖아. 왜 엄한 곳에 집중함. 그리고 단위테스트 의미에 너무 몰입할 이유 없음. 고전파 런던파 이런거부터 찾아보는게 좋을듯
고전파 런던파 둘 다 패주기거싶노 ㅋㅋ
중도가 답이다
모키스트 이런 싯팔ㅋㅋㅋㅋ