更改后,Mocha不会重新运行我的测试

时间:2013-12-19 20:19:29

标签: node.js mocha

使用带有

的测试环境
  • chokidar(使用观察者 chokidar变量触发有关更改的测试文件),
  • node.js(在浏览器中输出测试结果),
  • mocha+chai(测试套件),
  • 使用自定义报告器(如Using Mocha programmatically中所述)

当测试文件发生变化时,观察者会捕获该事件,并应重新运行测试。

问题:我的测试只执行一次!

当尝试第二次运行我的测试时(第二次在磁盘上更改文件时),mocha不会像第一次那样重新处理测试。我怀疑我应该重置一些内部运行程序属性,但在mocha github存储库中查找,我似乎找不到正确的方法来调用。请注意,我的记者“班级”仅在第二名观察员wakup上从mocha runner.on(“end”,...)收到了1个事件。

watcher.on('change', function(path, stats) {
   // ...
   console.log('-----File ' + path + ' has been changed ' + "[" + stats.size + "b]" );
   Mocha             = require('mocha');
   Mocha.prototype.printFiles = function(){
     console.log("Existing files = ");
     console.log( this.files );
     return this;
   };   
   var mocha = new Mocha({
    bail: false
   });
   mocha.reporter("/dirs/MyReporter.js");
   mocha.addFile("/dirs/my-test.js");
   mocha.run(function(failures){
   });
   // ...
});

我怎么能问(方法调用)Mocha重置我的先例运行的假设,以便第一次重新运行我的测试?