【问题标题】:How to log junit test run results to a database如何将junit测试运行结果记录到数据库
【发布时间】:2011-08-09 00:13:26
【问题描述】:

我们使用 junit 进行集成测试。测试在 Eclipse 和 Jenkins 中运行。

现在我想将所有 junit 测试运行结果记录到数据库中以便于报告(我想记录测试类/方法名称、环境、持续时间和成功)。 我曾考虑过解析 junit 结果 xmls,但将其直接记录到数据库对我来说也听起来不错。这听起来很突兀,但也很优雅。

通常我们只是用@Test注解来注解一个测试方法,瞧,我们有我们的junit测试方法。

这意味着我们没有围绕 junit 的额外框架,我想保持这种状态。我担心这意味着如果我想实现这种日志记录,我可能不得不侵入 junit。

有没有人这样做,如果效果很好,可以提供建议吗?也许您对如何/在何处将钩子放置在 junit 中有一个想法。还是有更简单的方法来解决我的问题?

谢谢!

编辑: 为了澄清,我们已经有了单次测试运行的 junit 测试结果。您可以将它们从 eclipse(导出 junit 结果)或 jenkins 中取出。在 Jenkins 中运行我们的 junit 测试套件还允许我们随时间跟踪测试套件的测试失败率。它向您显示了一个很好的图表,可以跟踪随着时间的推移通过了多少测试。在每个 jenkins 构建中,您都可以看到通过了哪些测试,也可以与上次运行进行比较。 我们需要更多。我们希望能够分析某些测试用例随着时间的推移、多次运行的性能(持续时间),也许还可以分析它们在不同环境中的不同表现。提取趋势。做一些数据挖掘。

【问题讨论】:

  • 你想记录你的单元测试历史。 ?你的问题根本没有意义。包括 Hudson (Jenkins) 在内的几乎所有 CI 服务器都有发布 Junit 功能,提供了非常好的测试报告。
  • 我已经更新了我的问题。

标签: java logging junit hook


【解决方案1】:

我不确定这是否对您有帮助,但是您可以对 JUnit 测试的输出进行各种类型的重定向,甚至可以指定测试报告的格式,然后您可以将其存储在数据库中以便能够访问和维护时间,用于进一步分析甚至统计目的。

可以在此处找到有关如何实现此目的的说明以及建议 HTML 报告的指南:http://www.skill-guru.com/blog/2010/03/26/generating-junit-test-results-as-html-report/

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    • 2017-09-08
    相关资源
    最近更新 更多