Avatar ·

Cómo verificar correctamente que un método lanza una excepción específica en JUnit

¡Hola a todos! Acabo de empezar a aprender Java y estoy escribiendo unit tests para mi proyecto. Tengo un método que debe lanzar IllegalArgumentException si se le pasan datos incorrectos. Quiero escribir un test que verifique que la excepción realmente se lanza, pero no puedo entender cómo hacerlo correctamente. Aquí está un ejemplo de mi método: ```java public class Calculator { public int divide(int a, int b) { if (b == 0) { throw new IllegalArgumentException("El divisor no puede ser cero"); } return a / b; } } ``` Intenté escribir el test así: ```java @Test public void testDivideByZero() { Calculator calc = new Calculator(); calc.divide(10, 0); // Aquí simplemente falla con la excepción } ``` Pero el test falla con un error, en lugar de pasar en verde. Leí que se puede usar `@Test(expected = ...)`, pero no estoy seguro de que sea la mejor manera. También vi algunos bloques try-catch en los tests, pero eso parece engorroso.