Spring Boot vous offre une pyramide de tests : des tests unitaires rapides sans Spring, des tests slice ciblés qui chargent une partie du contexte, et quelques tests d'intégration à contexte complet. Choisir le bon niveau pour chaque test est la compétence senior ici.
Test unitaire — pas de Spring du tout
L'injection par constructeur fait que la plupart de la logique de service ne nécessite aucun Spring ; il suffit de mocker les collaborateurs :
{
mock(PriceRepository.class);
(repo.base()).thenReturn(BigDecimal.TEN);
(repo);
assertThat(svc.priceOf()).isEqualByComparingTo();
}
