Java 过滤JUnit文件中的错误/失败的最佳方法是什么?

Java 过滤JUnit文件中的错误/失败的最佳方法是什么?,java,junit,continuous,Java,Junit,Continuous,我的部门使用持续集成,但我们的产品和流程不适合立即修复bug的模型(长运行时、共享资源、旧VCS工具等)。CI对于快速发现问题和识别罪犯仍然很有用。我有一个脚本,它可以读取JUnit XML文件,并确定过滤和写入新的过滤输出文件的失败,但我希望在文件中包含可以在CI工具中看到的信息,这可以解释为什么要对其进行过滤。不幸的是,testcase和testsuite元素似乎缺少节点。在格式中是否有我可以放置此信息的位置 <testsuites> <testsuite name="

我的部门使用持续集成,但我们的产品和流程不适合立即修复bug的模型(长运行时、共享资源、旧VCS工具等)。CI对于快速发现问题和识别罪犯仍然很有用。我有一个脚本,它可以读取JUnit XML文件,并确定过滤和写入新的过滤输出文件的失败,但我希望在文件中包含可以在CI工具中看到的信息,这可以解释为什么要对其进行过滤。不幸的是,testcase和testsuite元素似乎缺少节点。在格式中是否有我可以放置此信息的位置

<testsuites>
  <testsuite name="name">
    <testcase name="name">
      <failure>some message</failure>
    </testcase>
  </testsuite>
</testsuites>

一些信息
变成类似于:

<testsuites>
  <testsuite name="name">
    <testcase name="name">
      <failure>some message
Filtered: See bug #####</failure>
    </testcase>
  </testsuite>
</testsuites>

一些信息
过滤:请参阅错误#####

您只需修改测试即可。如果当前代码为

Assert.fail("some message")
换成

Assert.fail("some message\nFiltered: See bug #####")
您可以添加消息以断言。。。方法也是。使用

Assert.assertEquals("Filtered: See bug #####", expectedValue, actualValue)
而不是

Assert.assertEquals(expectedValue, actualValue)

过滤器是在测试后应用的,所以我不能修改测试。我已经有了一个脚本,它修改JUnit文件以附加消息,如前所述。但是,我遇到的问题是,该文件被CI工具读取,它仍然认为测试失败。我可以只删除节点,但我不会有任何关于出现故障和它已被过滤的详细信息。似乎只适用于testsuite,不是吗?