我正在以编程方式使用mocha,并希望在我的程序中访问结果以供以后计算。
目前,我有:
var mocha = new Mocha({
reporter: 'json'
});
files.forEach(file => {
var path = process.cwd() + '/' + file;
mocha.addFile(path);
});
mocha.run()
.on('start', function() {
// do something
})
// ...
.on('end', function() {
// I want to resolve the promise with the result generated by mocha:
resolve(result);
});
但是,我永远无法访问json报告器报告的结果(仅限命令行)。 有没有办法在程序中以json的形式访问结果?例如,通过将结果写入文件并稍后阅读它?
答案 0 :(得分:2)
json
记者将其结果存储在testResults
字段中的测试运行器上。因此,您可以将end
处理程序修改为:
.on('end', function() {
resolve(this.testResults);
});
我已经对它进行了测试,但它确实有效。我通过阅读摩卡的代码来解决这个问题。我还检查了文档,但是我没有看到指向公共API的东西,通过它可以获得这些结果。据我所知,只有json
记者这样做。