我的单元测试用例文件test.js
中有这段代码browser.driver.executeScript('if (typeof __coverage__ !== "undefined") { return __coverage__; }').then(function(val) {
if(val){
var now = new Date();
var destFile = process.env.TEST_DIR + "/output/code-coverage/istanbul/" + "protractor-" + now.getTime().toString() + "-collected-coverage.json";
console.log("Collecting code coverage and save it to " + destFile + ".");
fs.writeFileSync(destFile , JSON.stringify(val));
} else {
console.log("No code coverage found.");
} });
};
module.exports.writeCoverage = writeCoverage;
应该从全局变量__coverage__
中提取js对象值并将其写入JSON文件。它适用于量角器测试用例,但是使用mocha单元测试,我遇到了这个错误:
mocha test.js
"每次"勾选"获取完整的模块列表": ReferenceError:未定义浏览器 在Object.writeCoverage(/home/../src/writeCoverage.js:4:3) 在上下文。 (test.js:7:11)
我很感激帮助。 谢谢!