前提条件:启用VM参数-ea
源代码示例:
assert booleanVariable;
如果booleanVariable为false,将抛出AssertionError。
我写了JUnit测试导致FALSE booleanVariable,所以如何在不使用插件的情况下捕获错误而不是暂停JUnit测试。请注意,该应用程序用作线程模块。因此,JUnit测试调用一个通用的postMessage方法,如下所示:
@Test
public void myTest(){
Message invalidMessage = new Message("I am invalid");
//somewhere in threadedModule source code would throw AssertionError
//after reading from its inputQueue
threadedModule.postMessage(invalidMessage );
assertNotNull(onputQueue.waitForNextMessage(timeOutTime,timeOutMessage));
}
谢谢!
答案 0 :(得分:1)
这是无法实现的,因为您创建的线程模块在与JUnit测试线程分开的线程上运行。 try catch块只能在自己的线程中捕获throwable。