我正在尝试使用 findbugs作为我的程序的库(但问题与 findbugs 并不严格相关)。我编写了几个测试来配置和调用 findbugs 的一些功能。但奇怪的是,我的一个测试总是失败,并且报告为“测试终止”,并带有以下图标:
查看代码,我发现 System.exit()
都没有 fork 来解释为什么测试以“终止”结束。如果我查看代码(如下),findBugs 的函数执行将运行(带有输出),无需特殊指令即可完成,然后测试终止(不调用第二个 println
)。您知道终止测试的原因是什么吗?
@Test
public void testFindBugExecute() throws IOException, InterruptedException {
// [ configuration stuff ]
System.out.println("BOUM1");
// launch the analyze
findBugs.execute();
System.out.println("BOUM2");
}
注意:使用调试器查看,我发现调用了第二个 println(但没有输出)。
最佳答案
self 响应:库的行为和相关测试是一致的。该错误来自 JUnit 的错误输出,因为 findbugs 库弄乱了输出流。因此 Intellij 对测试痕迹的解析效果不佳。
关于java - JUnit 中什么可以终止测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6573102/