4

带有 mocha multi 报告的 Cypress 测试并未显示所有测试的结果

我的测试结构如下所示:
cypress
 integration
  module1
   module1test1_spec.js
   module1test1_spec.js
  module2
   module2test1_spec.js
   module2test1_spec.js

我已经将赛普拉斯设置为使用 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赛普拉斯完成测试后,results.xml 文件
显示上次测试规范的结果;module2test1_spec.js如何配置它以获取所有测试规范的汇总结果?

4

2 回答 2

4

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

例如 ./path_to_your/test-results.[hash].xml。[hash] 替换为测试结果 XML 的 MD5 散列。这支持在单独的文件中并行执行多个 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",

于 2018-07-05T13:23:58.853 回答
0

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

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

于 2021-01-17T01:30:00.927 回答