我的测试结构如下:
柏树
整合
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
如何配置它以从所有测试规范中获取汇总结果?
答案 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"