Spring Boot는 테스트 피라미드를 제공합니다: Spring 없는 빠른 단위 테스트, 컨텍스트의 일부를 로드하는 집중된 slice 테스트, 그리고 소수의 전체 컨텍스트 통합 테스트. 테스트마다 올바른 수준을 고르는 것이 여기서의 senior 기술입니다.
단위 테스트 — Spring 전혀 없이
생성자 주입 덕분에 대부분의 서비스 로직은 Spring이 전혀 필요 없습니다; 협력 객체만 mock하면 됩니다:
java
{
mock(PriceRepository.class);
(repo.base()).thenReturn(BigDecimal.TEN);
(repo);
assertThat(svc.priceOf()).isEqualByComparingTo();
}
