0
直到[email protected]
框架使用Cucumber 2
,我意識到我的黃瓜報表生成與一個Event Handler
鉤測試執行後直接,如:生成測試執行與Nightwatch黃瓜嫁接黃瓜報告
const reporter = require("cucumber-html-reporter");
defineSupportCode(function({ registerHandler }) {
registerHandler("AfterFeature", function(features, callback) {
try {
var options = {
theme: "bootstrap",
jsonFile: "./reports/json_result/cucumber.json",
output: "./reports/json_result/cucumber_report.html",
reportSuiteAsScenarios: true,
launchReport: false,
metadata: {
"App Version": "0.0.3"
}
};
reporter.generate(options);
} catch (e) {
console.log(
"Report generation is not possible with the following message:"
);
console.log(e);
}
client.end();
callback();
});
});
但由於[email protected]
的框架使用Cucumber 3
和Event Handler
不再可用。現在我想使用AfterAll
函數Cucumber.js
,但是在執行AfterAll
函數時不會生成黃瓜json報告的內容。所以我得到異常reports/json_result/cucumber.json: Unexpected end of JSON input
,因爲黃瓜json文件在這個時候是空的。我怎樣才能在測試執行後生成一個黃瓜報告,如AfterAll
用於拆卸。
這裏是我當前的代碼:
const reporter = require("cucumber-html-reporter");
defineSupportCode(function({ AfterAll }) {
AfterAll(function(callback) {
try {
var options = {
theme: "bootstrap",
jsonFile: "./reports/json_result/cucumber.json",
output: "./reports/json_result/cucumber_report.html",
reportSuiteAsScenarios: true,
launchReport: false,
metadata: {
"App Version": "0.0.3"
}
};
reporter.generate(options);
} catch (e) {
console.log(
"Report generation is not possible with the following message:"
);
console.log(e);
}
client.end();
callback();
});
});