원래 단위테스트할때

mock 써서 했는데


우연히 테스트코드 관련 유튜브 영상보다가 향로님 블로그에 mock을 지양하라는 글을 봤는데

생각해보니 맞는말 같아서 (mock을 쓰면 테스트 코드짜기가 간편해짐 <- 오히려 이게 문제고 의존성이 ㅈㄴ많아도 그냥 무지성 mock쓰면 되니까..)


그레서 mock 안쓰고 실제 객체를 최대한 써보려고 했는데

실제 객체 쓰기 애매한 부분은 예를들어 실제 db에 의존하는 Repository는 어찌하나 싶어서 Fake 객체로 만들어서

실제 db 타는것처럼 구현해서 그걸로 테스트 하는 방식으로 해봤음


근데 이게 매번 테스트 할때마다 Fake 객체를 만들어서 쓰고 이런게 시간이 좀 잡아먹을거같다는 생각이 들었음

그렇다고 h2 인메모리 db나 TestContainers 같은거 쓰기에는 스프링 컨테이너 띄워야 하니까 테스트 시간도 늘어나고 그럼 단위테스트 의미가 없어지고



고수님들 테스트 코드 짤때 어떤 방식으로 하시나요??