在每个测试运行器的单独 karate_report 文件夹中生成报告

Reports being generated in separate karate_report folder for each test runner

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

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

karate_reports
karate_reports_162988888
karate_reports_162988777

因此,之前运行的 jenkins cucumber 插件找不到 .json 文件。我尝试清除 jenkins cucumber 插件中的 JSON Reports Path 字段,以便它扫描整个目录中的 json 文件,但它不起作用。

知道发生了什么事吗?当通过 maven 测试 运行 时,我们仍然可以在单个文件夹中创建所有 json 文件吗?

我也尝试在 Runner.path 生成器中设置 reportDir,但我仍然得到多个带有后缀数字的文件夹。

感谢帮助。

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

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

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

这有充分的理由:

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

是的,以上几点假设您使用 Karate HTML 报告而不是 CI、JUnit 或第 3 方 Cucumber 报告。但这是最好的做法,空手道报告是我们长期关注的重点。