Cypress 使用 mocha multi 报告进行测试;无法获得所有测试规范的汇总结果

Cypress tests with mocha multi reports; not able to get aggregated results for all test spec

带有 mocha 多报告的 Cypress 测试不显示所有测试的结果

我的测试结构是这样的:
柏树
整合
模块 1
module1test1_spec.js
module1test1_spec.js
模块 2
module2test1_spec.js
module2test1_spec.js

我已将 Cypress 设置为使用 mocha-multi-reports,就像在
https://docs.cypress.io/guides/tooling/reporters.html#Multiple-Reporters
下提供的说明中一样 我的 config.json 看起来和这里一模一样:
https://github.com/cypress-io/cypress-example-docker-circle#spec--xml-reports
当 Cypress 完成测试时,results.xml 文件显示上次测试规范的结果 ONLY; module2test1_spec.js
如何配置它以获取所有测试规范的汇总结果?

您可以在路径中使用 [hash]。xml。

例如./path_to_your/test-results.[哈希].xml。 [hash] 替换为测试结果的 MD5 哈希 XML。这样就可以支持并行执行多个mocha-junit-reporter的写测试结果在单独的文件中。

https://www.npmjs.com/package/mocha-junit-reporter#results-report

我用这种方法解决了这个问题。

我的 config.json 文件是这样的:

"reporterEnabled": "spec,json, mocha-junit-reporter",
  "mochaJunitReporterReporterOptions": {
    "mochaFile": "multiple-results/[hash].xml",

只是添加到上面的答案中,如果您想将创建的所有这些多个 [hash].xml 合并到一个 mergedreport.xml 报告中,那么您可以使用这个包 junit-report-merger对于 运行 它在 CI 管道上很有用,它通常使用如下命令查找单个报告者:

jrm ./cypress/reports/mergedreport.xml "./cypress/reports/*.xml"