只运行修改过的测试文件gulp。

时间:2014-12-04 21:58:22

标签: gulp karma-runner

我正在使用karma和gulp-karma与angularjs,

gulp.task('test', function() {
/// Be sure to return the stream
return gulp.src(config.paths.karmaTest.src)
.pipe(karma({
  configFile: './karma.conf.js',
  action: 'run'
}))
.on('error', function(err) {
  // Make sure failed tests cause gulp to exit non-zero
  console.log(err)
  this.emit('end');
  //throw err;
});
});

这样可行,但是有没有办法创建手表并只运行修改过的测试?

1 个答案:

答案 0 :(得分:4)

那么也许您可以查看您的spec文件,然后将修改后的文件路径传递给karma,以便它只运行此文件。如果您需要其他文件来运行测试,则必须使用files将它们声明为 karma e.path参数,否则它将无法正常工作。< / p>

基本上你可以这样做:

var karma = require('karma').server;

gulp.task('watch-test', function (done) {

  gulp.watch('tests/**.spec.js', function (e) {

    karma.start({
      configFile: __dirname + '/karma.conf.js',
      files: [e.path],
      singleRun: true
    });

  });

});