PHPUnit में यह कैसे जाँचें कि किसी मेथड ने एक्सेप्शन फेंका?
सभी को नमस्ते! मैंने अभी-अभी PHPUnit सीखना शुरू किया है और अपने प्रोजेक्ट के लिए टेस्ट लिख रहा हूँ। मेरे पास एक मेथड है जो कुछ शर्तों के तहत एक्सेप्शन फेंकना चाहिए, जैसे कि `InvalidArgumentException`, अगर गलत आर्गुमेंट पास किया जाए।
समस्या यह है कि मैं समझ नहीं पा रहा हूँ कि सही तरीके से assert कैसे लिखूँ जो यह जाँचे कि एक्सेप्शन फेंका गया। मैंने मेथड कॉल को `try...catch` में लपेटने और फिर `$this->assertTrue($caught)` करने की कोशिश की, लेकिन यह बेढंगा लगता है और PHPUnit की क्षमताओं का उपयोग नहीं करता।
यहाँ मेरे कोड का उदाहरण है:
```php
class Calculator {
public function divide($a, $b) {
if ($b == 0) {
throw new \InvalidArgumentException('Division by zero.');
}
return $a / $b;
}
}
```
और मेरा टेस्ट, जो बदसूरत तरीके से एक्सेप्शन चेक करता है: