ÎncepețiÎncepe gratuit

BeforeEach: Alertare

Pe măsură ce proiectul tău crește în complexitate, testele pot necesita configurări tot mai elaborate. Anticipând acest lucru, revii la DurationMonitorTest și folosești noile adnotări pentru a extrage o parte din configurarea testelor într-o metodă setup().

Folosește @BeforeEach pentru ca această configurare să se execute înaintea fiecărui test.

Acest exercițiu face parte din cursul

Introducere în testarea în Java

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adnotează metoda setup() cu adnotarea corectă.
  • Scrie configurarea necesară în interior: AlertService este un mock, iar DurationMonitor primește acel mock ca argument.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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);
    }
}
Editează și rulează codul