Comment vérifier qu'une méthode a lancé une exception dans PHPUnit ?
Bonjour à tous ! Je commence tout juste à maîtriser PHPUnit et j'écris des tests pour mon projet. J'ai une méthode qui, sous certaines conditions, doit lancer une exception, par exemple `InvalidArgumentException`, si un argument invalide est passé.
Le problème est que je ne comprends pas comment écrire correctement un assert qui vérifie que l'exception a été lancée. J'ai essayé d'envelopper l'appel de la méthode dans un `try...catch` puis de faire `$this->assertTrue($caught)`, mais cela semble maladroit et n'utilise pas les fonctionnalités de PHPUnit.
Voici un exemple de mon code :
```php
class Calculator {
public function divide($a, $b) {
if ($b == 0) {
throw new \InvalidArgumentException('Division by zero.');
}
return $a / $b;
}
}
```
Et mon test, qui vérifie l'exception de manière peu élégante :
```php
public function testDivisionByZero() {
$calculator = new Calculator();
$caught = false;
try {
$calculator->divide(10, 0);
} catch (\InvalidArgumentExce