Avatar ·

Como verificar corretamente que um método lança uma exceção específica no JUnit?

Olá a todos! Comecei a estudar Java recentemente e estou escrevendo testes unitários para meu projeto. Tenho um método que deve lançar IllegalArgumentException se receber dados inválidos. Quero escrever um teste que verifique se a exceção é realmente lançada, mas não consigo entender como fazer isso corretamente. Aqui está um exemplo do meu método: ```java public class Calculator { public int divide(int a, int b) { if (b == 0) { throw new IllegalArgumentException("O divisor não pode ser zero"); } return a / b; } } ``` Tentei escrever o teste assim: ```java @Test public void testDivideByZero() { Calculator calc = new Calculator(); calc.divide(10, 0); // Aqui simplesmente lança a exceção } ``` Mas o teste falha com erro, em vez de passar verde. Li que posso usar `@Test(expected = ...)`, mas não tenho certeza se é a melhor maneira. Também vi alguns blocos try-catch em testes, mas parece complicado.