Node.js 使用gulp更改时仅运行一个mocha测试文件

Node.js 使用gulp更改时仅运行一个mocha测试文件,node.js,tdd,mocha.js,gulp,Node.js,Tdd,Mocha.js,Gulp,对于Node.js/mocha设置,我有一个标准的吞咽测试观察者和跑步者 gulp.task('mocha', function() { process.env.NODE_ENV = 'test'; return gulp.src(['./test/**/*.js'], {read: false}) .pipe(mocha({ recursive: true, reporter: 'list', ui: 'bdd' })).on(

对于Node.js/mocha设置,我有一个标准的吞咽测试观察者和跑步者

gulp.task('mocha', function() {
  process.env.NODE_ENV = 'test';

  return gulp.src(['./test/**/*.js'], {read: false})
    .pipe(mocha({
      recursive: true, 
      reporter: 'list', 
      ui: 'bdd'
    })).on('error', gutil.log); 
});

gulp.task('tests', function() {
  gulp.watch(sources.concat(tests), ['mocha']); 
});
我想知道如何调整我的watch任务(和其他任务),只向mocha发送已经更改的测试,这样我就不必等待20秒,就可以运行100个测试

我用fgulp更新版和gulp缓存版尝试过这个,但运气不好


我在这里寻找一个答案或是一个我可以为此编写的gulp插件的伪算法:)

您可以在mocha测试中使用
it.only()
来只运行一个测试


descripe.only()
也可用

也许您已经知道,但是您可以在您正在编辑的测试中添加您的摩卡测试
it.only()
。什么时候gulp会启动你的测试。只有这一个会被处决。我不知道,谢谢!这包括了我需要的一些东西。如果你把它作为回答,我可以接受。但是我还需要一些类似于
descripe.only()
的东西,在问题结束后再回来,还有descripe.skip和it.skip都很有用。