赛普拉斯通过Mocha Multi报告进行测试;无法获得所有测试规格的汇总结果

时间:2018-07-04 21:30:59

标签: mocha cypress test-results

带有Mocha Multi报告的Cypress测试未显示所有测试的结果

我的测试结构如下:
柏树
 整合
  module1
   module1test1_spec.js
   module1test1_spec.js
  module2
   module2test1_spec.js
   module2test1_spec.js

我已设置赛普拉斯以使用Mocha-multi-report,如
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
如何配置它以从所有测试规范中获取汇总结果?

2 个答案:

答案 0 :(得分:3)

您可以在路径中使用[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",

答案 1 :(得分:0)

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

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