2014-12-04 63 views
2

我使用的业力,并吞掉,业力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; 
}); 
}); 

这工作,但实在是太慢了,有没有办法创造一个手表,只运行修改后的测试?

+0

你怎么知道,如果在源代码中休息等检查您的修改? – glepretre 2014-12-05 08:12:48

回答

3

那么也许你可以观察你的规格文件,然后将修改后的文件路径传递给业力,所以它只运行这个文件。如果您需要其他文件来运行测试,则必须将其声明为files参数因果e.path,否则它将不起作用。

基本上你可以做这样的事情:

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 
    }); 

    }); 

});