Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以编程方式运行mocha时访问结果_Javascript_Testing_Mocha.js - Fatal编程技术网

Javascript 以编程方式运行mocha时访问结果

Javascript 以编程方式运行mocha时访问结果,javascript,testing,mocha.js,Javascript,Testing,Mocha.js,我正在以编程方式使用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

我正在以编程方式使用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的形式访问结果?例如,通过将结果写入文件并稍后读取?

json报告程序将其结果存储在测试运行程序的
testResults
字段中。因此,您可以将
end
处理程序修改为:

.on('end', function() {
    resolve(this.testResults);
 });

我已经测试过了,效果很好。我读了摩卡咖啡的代码就知道了。我也检查了文档,但没有看到指向公共API的东西,通过它可以获得这些结果。据我所知,只有
json
reporter会这样做。

结果不是传递给
end
事件处理程序吗?不,非参数传递给
end
事件处理程序