了解失败的 JUnit4 测试?
Understand failing JUnit4 test?
如果字符串 "what" 不包含操作(+、-、*、/),则以下内容应该抛出 InvalidExpression 异常。
//Check if the input contains at least one operation
else if(!what.matches(".*[+ \- * \/].*")) {
throw new InvalidExpression("No operation in the expression");
}
但是,如果我 运行 下面的 JUnit4 测试我没有得到正确的异常。 evaluate方法计算数学表达式,理论上应该包含一个运算。
@Test (expected = InvalidExpression.class)
public void test() throws InvalidExpression {
testCalc.evaluate("5 5");
}
括号内有 space。所以 space 是一个有效的运算符。
你的正则表达式应该是
".*[+\-*/].*"
如果字符串 "what" 不包含操作(+、-、*、/),则以下内容应该抛出 InvalidExpression 异常。
//Check if the input contains at least one operation
else if(!what.matches(".*[+ \- * \/].*")) {
throw new InvalidExpression("No operation in the expression");
}
但是,如果我 运行 下面的 JUnit4 测试我没有得到正确的异常。 evaluate方法计算数学表达式,理论上应该包含一个运算。
@Test (expected = InvalidExpression.class)
public void test() throws InvalidExpression {
testCalc.evaluate("5 5");
}
括号内有 space。所以 space 是一个有效的运算符。
你的正则表达式应该是
".*[+\-*/].*"