Wie überprüft man in PHPUnit, ob eine Methode eine Exception ausgelöst hat?
Hallo zusammen! Ich habe gerade angefangen, PHPUnit zu lernen, und schreibe Tests für mein Projekt. Ich habe eine Methode, die unter bestimmten Bedingungen eine Exception werfen soll, z.B. `InvalidArgumentException`, wenn ein ungültiges Argument übergeben wird.
Das Problem ist, dass ich nicht verstehe, wie ich einen Assert richtig schreibe, der prüft, ob die Exception ausgelöst wurde. Ich habe versucht, den Methodenaufruf in `try...catch` zu wrappen und dann `$this->assertTrue($caught)` zu machen, aber das sieht umständlich aus und nutzt die Möglichkeiten von PHPUnit nicht.
Hier ist ein Beispiel meines Codes:
```php
class Calculator {
public function divide($a, $b) {
if ($b == 0) {
throw new \InvalidArgumentException('Division by zero.');
}
return $a / $b;
}
}
```
Und mein Test, der die Exception auf hässliche Weise prüft:
```php
public function testDivisionByZero() {
$calculator = new Calculator();
$caught = false;
try {
$calculator->divide(10, 0);
} catch (\InvalidArgumentExce