【问题标题】:Mocha does not rerun my tests after changes更改后 Mocha 不会重新运行我的测试
【发布时间】:2013-12-20 14:25:00
【问题描述】:

在测试环境中使用

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

随着测试文件的更改,watcher 会捕获事件,并应重新运行测试。

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

当第二次尝试运行我的测试时(当文件第二次在磁盘上更改时),mocha 不会像第一次那样重新处理测试。我怀疑我应该重置一些内部运行器属性,但是查看 mocha github 存储库,我似乎没有找到正确的调用方法。请注意,我的记者“班级”在第二个观察者唤醒时仅收到来自 mocharunner.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 重置它对我的先例运行的假设以重新运行我的测试作为第一次?

【问题讨论】:

    标签: node.js mocha.js


    【解决方案1】:

    【讨论】:

    • 它在 2013 年得到了支持!从那时起发生了许多变化,目前可能有更好的方法来实现这一点。
    猜你喜欢
    • 2019-07-22
    • 2020-08-26
    • 1970-01-01
    • 2016-09-19
    • 2017-01-10
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多