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

发布于 2024-12-09 20:41:55 字数 697 浏览 0 评论 0原文

我的部门使用持续集成,但我们的产品和流程不太适合应立即修复错误的模型(运行时间长、共享资源、旧的 VCS 工具等)。不过,CI 对于快速检测问题并识别罪魁祸首仍然很有用。我有一个脚本可以读取 JUnit XML 文件并确定过滤哪些失败并写入新的过滤输出文件,但我想在文件中包含可以在 CI 工具中看到的信息,解释为什么它被过滤。不幸的是,测试用例和测试套件元素似乎缺少节点。格式中是否有地方可以放置此信息?

<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>

My division uses continuous integration but our product and process don't lend well to the model that bugs should be fixed immediately (long runtimes, shared resources, old VCS tools, etc). CI is still useful for detecting problems quickly and identifying the culprits though. I have a script which can read the JUnit XML file and determine which failures to filter and write a new filtered output file but I'd like to include information in the file which can be seen in CI tools which explains why it was filtered. Unfortunately, the testcase and testsuite elements seem to lack a node. Is there a place in the format where I can place this information?

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

Into something like:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如何视而不见 2024-12-16 20:41:55

您可以简单地修改测试。如果当前代码将

Assert.fail("some message")

其更改为

Assert.fail("some message\nFiltered: See bug #####")

您也可以向断言...方法添加消息。使用

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

而不是

Assert.assertEquals(expectedValue, actualValue)

You can simply modify the test. If the current code is

Assert.fail("some message")

change it to

Assert.fail("some message\nFiltered: See bug #####")

You can add a message to assert... methods, too. Use

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

instead of

Assert.assertEquals(expectedValue, actualValue)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文