Como verificar no JUnit se um método lança uma exceção específica?
Olá a todos! Comecei a estudar Java recentemente e estou escrevendo testes unitários com JUnit 4. Tenho um método que, para dados de entrada inválidos, deve lançar IllegalArgumentException. Por exemplo, este método:
```java
public int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("O divisor não pode ser zero");
}
return a / b;
}
```
Quero escrever um teste que verifique que, ao passar b = 0, a exceção é realmente lançada. Tentei fazer assim:
```java
@Test
public void testDivideByZero() {
Calculator calc = new Calculator();
calc.divide(10, 0); // espero exceção, mas o teste falha com erro
}
```
Mas o teste simplesmente falha com a exceção, e o JUnit considera isso um erro no teste. Ouvi dizer que existe um parâmetro `expected` na anotação `@Test` e também algumas regras. Alguém pode me dizer como escrever esse teste corretamente? É importante que o teste passe verde quando a exceção for lançada e falhe se a exceção não ocorrer.
No answers yet.
Faça login para deixar uma resposta