शुरू करेंमुफ़्त में शुरू करें

यूनिट टेस्ट: अलर्टिंग

सॉफ़्टवेयर इंजीनियरिंग में, यह आम है कि जब कोई ऑपरेशन चलने में बहुत समय लेता है, तो अलर्ट ट्रिगर करके यह सुनिश्चित किया जाए कि कोड पर्याप्त तेज़ चलता है. यहाँ आपको DurationMonitor नाम की एक क्लास दी गई है जो AlertService पर निर्भर करती है. जब इसे 1 सेकंड से अधिक की अवधि मिलती है (1000 मिलीसेकंड = 1 सेकंड), तो यह AlertService पर एक अलर्ट ट्रिगर करती है.

सत्यापित करें कि लंबी अवधि के लिए अलर्ट वास्तव में ट्रिगर होता है और 1 सेकंड से कम अवधि के लिए ट्रिगर नहीं होता.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Java में Testing परिचय

पाठ्यक्रम देखें

अभ्यास निर्देश

  • सत्यापित करें कि लंबी अवधि के लिए alertService mock को कॉल किया जाता है.
  • जाँचें कि उदाहरण वाली लंबी अवधि पर alertService पर कौन-सा मेथड और किन आर्ग्युमेंट्स के साथ कॉल होता है.
  • दूसरे टेस्ट में सत्यापित करें कि alertService को कॉल नहीं किया जाता.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

public class Main {
    public static void main(String[] args) {
        launchMockitoTestsAndPrint(DurationMonitorTest.class);
    }
}

class DurationMonitorTest {

    @Test
    void recordDuration_triggersAlert_whenAboveLimit() {
        AlertService alertService = mock(AlertService.class);
        DurationMonitor monitor = new DurationMonitor(alertService);
        monitor.recordDuration(1500);

        // Verify alertService.trigger() was called with the expected message
        ____(alertService).____("Slow execution detected: 1500ms");
    }

    @Test
    void recordDuration_doesNotTriggerAlert_whenUnderLimit() {
        AlertService alertService = mock(AlertService.class);
        DurationMonitor monitor = new DurationMonitor(alertService);
        monitor.recordDuration(500);

        // Verify alertService was not used
        ____(____);
    }
}
कोड संपादित करें और चलाएँ