如何将junit测试运行结果记录到数据库中

时间:2011-04-19 20:40:40

标签: java logging junit hook

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

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

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

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

有没有人这样做过,如果效果很好的话可以给出建议吗?也许你对如何/在何处将钩子置于junit中有所了解。或者我的问题有更简单的方法吗?

谢谢!

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

1 个答案:

答案 0 :(得分:2)

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

可以在此处找到指南,其中包含有关如何实现此功能的说明,建议使用HTML报告:http://www.skill-guru.com/blog/2010/03/26/generating-junit-test-results-as-html-report/

我希望有所帮助。