Creé un marco de proyecto utilizando el enfoque Typescript y Cucumber BDD. Las ejecuciones dentro del proyecto están funcionando y los informes html de pepino también se generan cuando se pasan las ejecuciones, pero cuando las cosas fallan debido a algún motivo (ya sea un motivo de afirmación en mi caso) los informes no se generan dentro de la carpeta especificada .
A continuación se presentan algunos puntos clave a tener en cuenta;
{ "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" } }
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);
Un punto a considerar es que report.json también se crea en caso de falla, pero solo el informe html no se crea en caso de falla.
Para generar informes html en caso de falla, intente agregar el código a continuación en su archivo cucumber.js.
En común agregue "--require report.js", esto ayuda a crear en casos aprobados y fallidos
Para referencia
const common = --require runner/hooks.js --require features/support/steps.js --require report.js; module.exports = { default: ${common} features/**/*.feature };