Блок Try Catch работает, но проверка AssertThrows не удалась (Junit 5)JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Блок Try Catch работает, но проверка AssertThrows не удалась (Junit 5)

Сообщение Anonymous »

Я пытаюсь следовать этому руководству. JUnit 5: Как подтвердить выдачу исключения?
Я использую Java 10, IntelliJ 2018 и Junit 5.
Я создаю приложение-калькулятор, которое складывает 2 дроби. Он проверяет, имеет ли ввод 0 в знаменателе.
Когда я запускаю тест, сообщение об исключении распечатывается «Неопределенное математическое выражение», но моя IDE говорит: «Ожидается, что будет создано java.lang.Throwable, но ничего не было». Я думаю, что есть какая-то проблема с объемом моего кода? Я новичок, пожалуйста, будьте любезны. Я предоставил код и тест ниже:
public class Calculator {
public static int[] calculate (int firstNumerator, int firstDenominator, int secondNumerator, int secondDenominator) {

String exceptionMessage = "Undefined Math Expression";
int resultNumerator;
int resultDenominator;
int[] result = new int[2];

resultNumerator = (firstNumerator * secondDenominator) +
(secondNumerator * firstDenominator);
resultDenominator = firstDenominator * secondDenominator;

try {
if (resultDenominator == 0) {
throw (new Throwable(exceptionMessage));
} else {
result[0] = resultNumerator;
result[1] = resultDenominator;
}
} catch (Throwable e) {
System.out.println(e.getMessage());
}

return result;
}
}

Тест:
class CalculatorTest {
@Test
void denominatorContainsZero() {
assertThrows(Throwable.class, () -> {
Calculator.calculate(0,0,0,0);
});
}
}


Подробнее здесь: https://stackoverflow.com/questions/526 ... il-junit-5
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»