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.
No answers yet.
Faça login para deixar uma resposta