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