首页 > 解决方案 > 为每个测试运行者在单独的 karate_report 文件夹中生成报告

问题描述

我刚刚从 0.9.6 升级到 1.0.1 版的空手道。早些时候,所有空手道黄瓜格式的 .json 报告都在一个文件夹中生成:target/surefire-reports.

升级后,我可以看到,对于每个使用Runner.pathbuilder 运行测试功能文件的测试运行程序,outputCucumberJson(true)正在创建带有数字后缀的文件夹中的 json 文件。例如,我有target如下文件夹:

karate_reports
karate_reports_162988888
karate_reports_162988777

因此,以前工作的詹金斯黄瓜插件找不到 .json 文件。我曾尝试清除JSON Reports Pathjenkins cucumber 插件中的字段,以便它扫描整个目录中的 json 文件,但它不起作用。

有什么想法吗?当通过 maven 运行测试时,我们还能获取在单个文件夹中创建的所有 json 文件吗?

我也尝试reportDirRunner.path构建器中设置,但我仍然得到多个带有后缀数字的文件夹。

帮助表示赞赏。

标签: karate

解决方案


是的,有一个名为的配置设置:backupReportDir()您可以将其设置为false.

下一次,请早点尝试 RC 版本,这样您就可以避免这些意外,并在我们无意中做出重大更改时提醒我们。

最后,我们不建议在 CI 中使用多个测试运行器,您应该只有一个,并且您可以在其中“选择”不同的文件夹层次结构或单个功能文件以组成一个“套件”。

这有充分的理由:

  • 将正确计算开始和结束时间
  • 标签的报告聚合将正常工作
  • 您的整个套件的并行执行将得到优化

是的,以上几点假设您使用空手道 HTML 报告而不是 CI、JUnit 或 3rd-party Cucumber 报告。但这是最佳实践,空手道报告是我们长期关注的重点。


推荐阅读