Spring Boot ti offre una piramide dei test: unit test veloci senza Spring, slice test mirati che caricano parte del context e pochi test di integrazione a context completo. Scegliere il livello giusto per ogni test è l'abilità senior qui.
Unit test — niente Spring
La constructor injection fa sì che gran parte della logica di servizio non richieda affatto Spring; basta mockare i collaboratori:
{
mock(PriceRepository.class);
(repo.base()).thenReturn(BigDecimal.TEN);
(repo);
assertThat(svc.priceOf()).isEqualByComparingTo();
}
