Avatar ·

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.