Cómo verificar en PHPUnit que un método lanzó una excepción
¡Hola a todos! Acabo de empezar a aprender PHPUnit y estoy escribiendo tests para mi proyecto. Tengo un método que, bajo ciertas condiciones, debe lanzar una excepción, por ejemplo, `InvalidArgumentException`, si se pasa un argumento inválido.
El problema es que no puedo entender cómo escribir correctamente un assert que verifique que la excepción fue lanzada. Intenté envolver la llamada al método en un `try...catch` y luego hacer `$this->assertTrue($caught)`, pero se ve torpe y no aprovecha las capacidades de PHPUnit.
Aquí hay un ejemplo de mi código:
```php
class Calculator {
public function divide($a, $b) {
if ($b == 0) {
throw new \InvalidArgumentException('Division by zero.');
}
return $a / $b;
}
}
```
Y mi test, que verifica la excepción de manera poco elegante:
```php
public function testDivisionByZero() {
$calculator = new Calculator();
$caught = false;
try {
$calculator->divide(10, 0);
} catch (\InvalidArgumentExce