繁体   English   中英

无法生成 Cucumber HTML 报告失败

[英]Unable to generate Cucumber HTML reports on failure

我使用 Typescript 和 Cucumber BDD 方法创建了一个项目框架。 项目中的执行正在运行,并且在执行通过时也会生成 cucumber html 报告,但是当由于某种原因(在我的情况下是断言原因)导致事情失败时,报告不会在指定文件夹中生成.

以下是一些需要注意的要点;

  • 我正在使用package.json测试模块执行我的执行。

 { "name": "sampleprojectplaywright", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "cucumber-js features/**/*.feature --require-module ts-node/register --require test.setup.ts --require step-definitions/**/*.ts --parallel 1 -f json:report/report.json && node report.js && type report/report.json" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "@cucumber/cucumber": "^7.3.2", "@playwright/test": "^1.19.1", "@types/mkdirp": "^1.0.2", "@types/node": "^17.0.18", "cucumber-html-reporter": "^5.3.0", "cucumber-junit": "^1.7.1", "cucumberjs-junitxml": "^1.0.0", "fs-extra": "^3.0.1", "mkdirp": "^0.5.1", "mkdirp-promise": "^5.0.1", "multiple-cucumber-html-reporter": "^1.19.0", "playwright": "^1.19.1", "sanitize-filename": "^1.6.1", "ts-node": "^10.5.0", "typescript": "^4.5.5" } }

  • 下面是report.js文件的代码片段(在上面提到的文件夹中生成报告)

 const reporter = require("cucumber-html-reporter"); const options = { theme: "bootstrap", jsonFile: "report/report.json", output: "report/cucumber-html-report.html", reportSuiteAsScenarios: true, launchReport: false, }; reporter.generate(options);

需要考虑的一点是, report.json也会在失败的情况下创建,但只有 html 报告不会在失败时创建。

为了生成失败的 html 报告,请尝试在您的 cucumber.js 文件中添加以下代码。

通常添加“--require report.js”,这有助于在通过和失败的情况下创建

以供参考

const common = --require runner/hooks.js --require features/support/steps.js --require report.js;

module.exports = {
default: ${common} features/**/*.feature
};

您的test脚本正在运行命令cucumber-js features/**/*.feature --require-module ts-node/register --require test.setup.ts --require step-definitions/**/*.ts --parallel 1 -f json:report/report.json
和生成报告命令node report.js

当您使用&&时,仅当前一个命令成功时才会运行生成报告命令。 由于测试失败 cucumber-js 退出代码为 1 并且不会执行生成报告命令。

解决方法:将&&替换为; 无论测试结果如何,它都应该生成报告。

"test": "cucumber-js features/**/*.feature --require-module ts-node/register --require test.setup.ts --require step-definitions/**/*.ts --parallel 1 -f json:report/report.json; node report.js; type report/report.json"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM