Я пытаюсь следовать этому руководству. 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
Блок Try Catch работает, но проверка AssertThrows не удалась (Junit 5) ⇐ JAVA
Программисты JAVA общаются здесь
1761130441
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);
});
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/52603940/try-catch-block-works-but-test-assertthrows-fail-junit-5[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия