有没有办法解除/启用内联断言?

时间:2012-04-05 09:20:22

标签: java selenium junit assertions

你能告诉我是否有办法解除并启用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,但这不是我正在寻找的东西,因为在断言后我不能继续执行行...

1 个答案:

答案 0 :(得分: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

对于记录,如果您正在讨论assert Java原语,那么可以禁用它,但只能在编译时使用-ea开关。