Cómo verificar en JUnit que un método lanza una excepción específica
¡Hola a todos! Acabo de empezar a aprender Java y escribo unit tests con JUnit 4. Tengo un método que, con datos de entrada incorrectos, debe lanzar IllegalArgumentException. Por ejemplo, este método:
```java
public int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("El divisor no puede ser cero");
}
return a / b;
}
```
Quiero escribir un test que verifique que al pasar b = 0 realmente se lanza esa excepción. Intenté hacerlo así:
```java
@Test
public void testDivideByZero() {
Calculator calc = new Calculator();
calc.divide(10, 0); // espero una excepción, pero el test falla con error
}
```
Pero el test simplemente falla con la excepción, y JUnit lo considera un error del test. He oído que hay un parámetro `expected` en la anotación `@Test` y también algunas reglas. ¿Podrían indicarme cómo escribir correctamente ese test? Es importante que el test pase en verde cuando se lanza la excepción, y falle si no se lanza.