Spring Boot gibt dir eine Testpyramide: schnelle Unit-Tests ohne Spring, fokussierte Slice-Tests, die einen Teil des Kontexts laden, und ein paar vollständige Integrationstests mit ganzem Kontext. Die richtige Ebene pro Test zu wählen, ist hier die Senior-Fähigkeit.
Unit-Test – gar kein Spring
Constructor Injection bedeutet, dass die meiste Service-Logik null Spring braucht; mocke einfach die Kollaborateure:
{
mock(PriceRepository.class);
(repo.base()).thenReturn(BigDecimal.TEN);
(repo);
assertThat(svc.priceOf()).isEqualByComparingTo();
}
