Test Double
·
Spring
스프링 애플리케이션에서 서비스 계층에 대한 단위 테스트를 작성한다고 해보자. 보통 서비스 계층은 트랜잭션을 제어하는 역할을 수행하기 때문에 여러 종속성들이 존재하고, 기능을 테스트하기 위해 이런 종속성들이 반드시 필요할 수 있다. 그렇다면 서비스 계층은 어떻게 테스트를 해야 할까? 서비스 계층 테스트의 어려움 서비스 계층은 의존하는 코드가 많다. 코드의 동작을 모두 테스트하기 위해 종종 입력을 설정해야 하며, 부수 효과를 검증해야 한다. 데이터베이스에 여러 값으로 테스트해야 될 수도 있다. 이때 코드의 부수 효과로 데이터베이스에 어떤 값을 저장하는지 확인해야 한다. 통합 테스트로 변질될 가능성이 있다. 즉 서비스 계층을 테스트하려면 서비스가 가지고 있는 의존성을 설정해 주고, 발생할 수 있는 부수 효과에..