0

你能告诉我是否有办法禁用和启用内联的 junit.framework.Assert 命令以忽略它们?

代码示例只是为了说明我的意思:

junitOff(); // first method I need help with
assertTrue(false); //would normally cause an AssertionError
junitOn(); // second method I need help with
System.out.println("Broke through asserTrue without Error")

我知道可以使用 try/catch 但这不是我想要的,因为我无法在断言之后继续执行...

4

1 回答 1

0

我看不出有什么方法可以做到这一点。查看您看到的junit代码:

static public void assertTrue(String message, boolean condition) {
    if (!condition)
        fail(message);
}

并且fail()是:

static public void fail(String message) {
    throw new AssertionError(message == null ? "" : message);
}

我看不到任何方法可以打开开关或以其他方式禁用它以抛出AssertionError.

作为记录,如果您正在谈论assertJava 原语,那么可以禁用它,但只能在编译时使用-ea开关。

于 2012-04-05T12:44:12.500 回答