Spring Boot daje ci piramidę testów: szybkie testy jednostkowe bez Springa, ukierunkowane testy slice, które ładują część kontekstu, oraz kilka pełnokontekstowych testów integracyjnych. Dobranie właściwego poziomu per test to seniorska umiejętność tutaj.
Test jednostkowy — bez Springa w ogóle
Wstrzykiwanie przez konstruktor sprawia, że większość logiki serwisowej nie potrzebuje żadnego Springa; po prostu mockuj współpracowników:
{
mock(PriceRepository.class);
(repo.base()).thenReturn(BigDecimal.TEN);
(repo);
assertThat(svc.priceOf()).isEqualByComparingTo();
}
