يمنحك Spring Boot هرم اختبار (testing pyramid): اختبارات وحدة سريعة بلا Spring، واختبارات شرائح (slices) مركّزة تحمّل جزءًا من السياق (context)، وقليل من اختبارات التكامل بالسياق الكامل. اختيار المستوى الصحيح لكل اختبار هو مهارة الأقدم هنا.
اختبار وحدة — بلا Spring إطلاقًا
الحقن عبر الـ constructor يعني أن معظم منطق الخدمة لا يحتاج Spring؛ فقط اعمل mock للمتعاونين:
{
mock(PriceRepository.class);
(repo.base()).thenReturn(BigDecimal.TEN);
(repo);
assertThat(svc.priceOf()).isEqualByComparingTo();
}
