Я пытаюсь проверить функциональность деления на ноль.
Если я просто сделаю: System.out.println(5/0)
, я получу java.lang.ArithmeticException
Я пытаюсь проверить, что исключениебыл брошен.
Вот мой модульный тест:
@Test(expected = ArithmeticException.class)
public void given_divideByZeroInput_when_divideByZero_then_verify_throwing_exception() {
MathClass sut = new MathClass();
sut.div(10,0);
}
, а мой div
такой простой:
public float div(int x, int y) {
return (float) x/y;
}
Однако модульный тест не пройден, заявив,:
java.lang.AssertionError: Expected exception: java.lang.ArithmeticException
Что я сделал не так?
Я знаю, что есть много способов проверить выброшенное исключение, но я пытаюсь придерживаться простого @Test(excepted = .. )