BeforeEach: Uyarı Verme
Projenin karmaşıklığı arttıkça, testlerin kurulumu giderek daha uzun sürebilir. Bunu öngörerek DurationMonitorTeste geri dönüyor ve bazı test kurulumlarını setup() metodunda toplamak için yeni anotasyonları kullanıyorsun.
Kurulumun her testten önce çalışması için @BeforeEach kullan.
Bu egzersiz, kursun bir parçasıdır
Java'da Teste Giriş
Egzersiz talimatları
setup()metodunu doğru anotasyonla belirt.- İçine gerekli kurulumu yaz:
AlertServicebir mock olacak,DurationMonitorbu mock'u alacak.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
public class Main {
public static void main(String[] args) {
launchMockitoTestsAndPrint(DurationMonitorTest.class);
}
}
class DurationMonitorTest {
private AlertService alertService;
private DurationMonitor monitor;
// Use the correct annotation to make this method execute before every test
@____
void setUp() {
// Set up the mock alertService and the monitor as you did in the earlier exercise
this.alertService = ____(____.class);
this.monitor = new ____(alertService);
}
@Test
void recordDuration_triggersAlert_whenAboveLimit() {
this.monitor.recordDuration(1500);
verify(this.alertService).trigger("Slow execution detected: 1500ms");
}
@Test
void recordDuration_doesNotTriggerAlert_whenUnderLimit() {
this.monitor.recordDuration(500);
verifyNoInteractions(this.alertService);
}
}