在我的应用中测试抛出:

java.lang.AssertionError: Expected exception: java.lang.RuntimeException
    at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:35)


即使我有这个:

@Test(expected=RuntimeException.class)
public void test(){
  // I can see from the console log that a java.lang.RuntimeException was thrown
}


可能是什么问题?

最佳答案

JUnit检测到引发异常的唯一方法是@Test方法引发异常。因此终止执行。

如果您正在捕获异常并进行处理,则由于抛出异常,方法执行不会停止。它将正常完成。由于抛出异常,您需要它突然完成。如果需要记录,请重新扔掉它。

关于java - 断言错误,即使JUnit中存在预期的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27757084/

10-10 00:30
查看更多