我需要创建一个显示测试运行结果历史记录的报告 - 运行统计信息(运行#,传递,失败,跳过计数),失败详细信息(测试名称失败,抛出异常消息)和一些汇总报告(前10个)测试失败最多,排序降序,前10个异常抛出,排序降序)。
我目前正在从TestListenerAdapter的onFinish()方法获取日期/通过/失败/跳过的信息,并将结果写入JSON格式的文本文件中:
{date:%s,passed:%s,failed:%s,skipped:%s}
正在从HTML堆积条形图中读取。我需要在此基础上收集并收集测试细节,我想是这样的:
{date:%s,passed:%s,failed:%s,skipped:%s,details:{[failedTestName:%s,exceptionMsg:%s]}}
我的问题是:
我是否正在走向正确的数据收集和历史报告之路?是否有一些我可以使用的开箱即用的东西,或者定制是唯一的出路?通常我会收集结果并将结果存储到数据库中,但这是不可能的。
答案 0 :(得分:1)
您的解决方案正在运行,但是当您需要实时反馈时,通常会使用TestListenerAdapter。
创建自己的reporter似乎是一种更好的方法,因为它只会在运行结束时调用一次。
接下来,您可以执行您想要的操作,甚至将结果存储在数据库中。 但Jenkins的TestNG插件可能是保持运行历史的好方法。