의존성 역전으로 테스트 편하게 만들기 !!
코딩·2025. 11. 8.
이전에 TDD를 공부하면서 작성했던 코드를 다시 보면 현재 시간을 기록해야 하는 기능을 테스트해야 하는 부분이 있었다.하지만 해당 메소드가 실행되어서 기록되던 시간과 테스트할 때의 시간은 명백히 다르기 때문에 테스트가 거의 불가능했었다.코드를 다시 한번 보자.fun insert( id: Long, amount: Long, transactionType: TransactionType, updateMillis: Long,): PointHistory { Thread.sleep(Math.random().toLong() * 300L) val history = PointHistory( id = cursor++, userId = id, amount ..