Spring Boot memberi Anda sebuah testing pyramid: unit test yang cepat tanpa Spring, slice test yang terfokus dan memuat sebagian context, serta sedikit integration test dengan context penuh. Memilih level yang tepat per test adalah keterampilan senior di sini.
Unit test — tanpa Spring sama sekali
Constructor injection berarti sebagian besar logika service tidak perlu Spring sama sekali; cukup mock kolaboratornya:
{
mock(PriceRepository.class);
(repo.base()).thenReturn(BigDecimal.TEN);
(repo);
assertThat(svc.priceOf()).isEqualByComparingTo();
}
