我正在使用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;
});
});
这样可行,但是有没有办法创建手表并只运行修改过的测试?
答案 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
});
});
});