JUnit में किसी विधि द्वारा विशिष्ट अपवाद फेंके जाने की सही जाँच कैसे करें?
सभी को नमस्कार! मैंने अभी Java सीखना शुरू किया है और अपने प्रोजेक्ट के लिए यूनिट टेस्ट लिख रहा हूँ। मेरे पास एक विधि है जो गलत डेटा देने पर IllegalArgumentException फेंकती है। मैं एक ऐसा टेस्ट लिखना चाहता हूँ जो जाँचे कि अपवाद वास्तव में फेंका गया है, लेकिन मुझे समझ नहीं आ रहा कि इसे सही तरीके से कैसे किया जाए।
यहाँ मेरी विधि का उदाहरण है:
```java
public class Calculator {
public int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("डिवाइडर शून्य नहीं हो सकता");
}
return a / b;
}
}
```
मैंने इस तरह टेस्ट लिखने की कोशिश की:
```java
@Test
public void testDivideByZero() {
Calculator calc = new Calculator();
calc.divide(10, 0); // यहाँ बस अपवाद के साथ क्रैश हो जाता है
}
```
लेकिन टेस्ट त्रुटि के साथ विफल हो जाता है, हरे रंग में पास नहीं होता। मैंने पढ़ा है कि `@Test(expected = ...)` का उपयोग किया जा सकता है, लेकिन मुझे यकीन नहीं है कि यह सबसे अच्छा तरीका है। मैंने टेस्ट में कुछ try-catch ब्लॉक भी देखे, लेकिन यह बोझिल लगता है।