理解JUnit4测试失败吗?

时间:2018-12-02 14:58:28

标签: java regex exception junit4

如果字符串“ what”不包含运算符(+,-,*,/),则以下内容应该抛出InvalidExpression异常。

//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 :(得分:2)

括号内有空格。因此,空格是有效的运算符。

您的正则表达式应为

".*[+\\-*/].*"