Понять провал теста JUnit4? - PullRequest
0 голосов
/ 02 декабря 2018

Следующее должно выдавать исключение InvalidExpression, если строка «what» не содержит операции (+, -, *, /).

//Check if the input contains at least one operation
else if(!what.matches(".*[+ \\- * \\/].*")) {
    throw new InvalidExpression("No operation in the expression");
}

Однако, если я запускаю следующий JUnit4Тест Я не получаю правильное исключение.Метод оценки вычисляет математическое выражение и теоретически должен содержать операцию.

@Test (expected = InvalidExpression.class)
public void test() throws InvalidExpression {
    testCalc.evaluate("5 5");
}

1 Ответ

0 голосов
/ 02 декабря 2018

У вас есть пробелы в скобках.Таким образом, пробел является допустимым оператором.

Ваше регулярное выражение должно быть

".*[+\\-*/].*"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...