Το Spring Boot σου δίνει μια πυραμίδα testing: γρήγορα unit tests χωρίς Spring, εστιασμένα slice tests που φορτώνουν μέρος του context, και λίγα integration tests πλήρους context. Η επιλογή του σωστού επιπέδου ανά test είναι η senior δεξιότητα εδώ.
Unit test — καθόλου Spring
Το constructor injection σημαίνει ότι η περισσότερη λογική service δεν χρειάζεται καθόλου Spring· απλώς κάνε mock τους συνεργάτες:
{
mock(PriceRepository.class);
(repo.base()).thenReturn(BigDecimal.TEN);
(repo);
assertThat(svc.priceOf()).isEqualByComparingTo();
}
