gulp 测试后 Karma 关闭浏览器
Karma closing browsers after gulp test
我正在 运行使用来自 gulp 的 Chrome 和 karma 中的 Firefox 启动器进行基本的 jasmine 测试。但是我的浏览器总是在之后关闭。无论测试成功或失败,即使在任务和配置中将单个 运行 指定为 false 之后。
Gulp 任务:
karma = require('gulp-karma');
gulp.task('test', ['testsSetup'], function() {
// Be sure to return the stream
// NOTE: Using the fake './foobar' so as to run the files
// listed in karma.conf.js INSTEAD of what was passed to
// gulp.src !
return gulp.src('./foobar')
.pipe(karma({
configFile: 'karma.conf.js',
singleRun: false
}))
.on('error', function(err) {
// Make sure failed tests cause gulp to exit non-zero
console.log(err);
//this.emit('end'); //instead of erroring the stream, end it
});
});
karma.conf.js:
// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['Chrome','Firefox'],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false
成功测试的 gulp 输出的最后一部分:
Chrome 43.0.2357 (Windows 7 0.0.0):成功执行了 3 次,共 3 次(0.041 秒/0.036 秒)
Firefox 38.0.0 (Windows 7 0.0.0):成功执行 3 次,共 3 次(0.001 秒/0.013 秒)
总计:6 次成功
Chrome 43.0.2357 (Windows 7 0.0.0):成功执行了 3 次,共 3 次(0.041 秒/0.036 秒)
Firefox 38.0.0 (Windows 7 0.0.0):成功执行 3 次,共 3 次(0.001 秒/0.013 秒)
总计:6 次成功
[11:09:27] 4.52 秒后完成 'test'
进程终止,代码为 0。
当您使用 gulp-karma 时,您传入的参数与您直接传递给 karma 的参数不同。
忽略上面的 singleRun 参数。我将我的任务更改为以下内容(改为指定一个操作)并且它按您预期的那样工作:
gulp.task('test', ['testsSetup'], function() {
// Be sure to return the stream
// NOTE: Using the fake './foobar' so as to run the files
// listed in karma.conf.js INSTEAD of what was passed to
// gulp.src !
return gulp.src('./foobar')
.pipe(karma({
configFile: 'karma.conf.js',
action: 'watch',
showStack: true
}))
.on('error', function(err) {
// Make sure failed tests cause gulp to exit non-zero
console.log(err);
this.emit('end'); //instead of erroring the stream, end it
});
});
我正在 运行使用来自 gulp 的 Chrome 和 karma 中的 Firefox 启动器进行基本的 jasmine 测试。但是我的浏览器总是在之后关闭。无论测试成功或失败,即使在任务和配置中将单个 运行 指定为 false 之后。
Gulp 任务:
karma = require('gulp-karma');
gulp.task('test', ['testsSetup'], function() {
// Be sure to return the stream
// NOTE: Using the fake './foobar' so as to run the files
// listed in karma.conf.js INSTEAD of what was passed to
// gulp.src !
return gulp.src('./foobar')
.pipe(karma({
configFile: 'karma.conf.js',
singleRun: false
}))
.on('error', function(err) {
// Make sure failed tests cause gulp to exit non-zero
console.log(err);
//this.emit('end'); //instead of erroring the stream, end it
});
});
karma.conf.js:
// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['Chrome','Firefox'],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false
成功测试的 gulp 输出的最后一部分:
Chrome 43.0.2357 (Windows 7 0.0.0):成功执行了 3 次,共 3 次(0.041 秒/0.036 秒)
Firefox 38.0.0 (Windows 7 0.0.0):成功执行 3 次,共 3 次(0.001 秒/0.013 秒)
总计:6 次成功
Chrome 43.0.2357 (Windows 7 0.0.0):成功执行了 3 次,共 3 次(0.041 秒/0.036 秒)
Firefox 38.0.0 (Windows 7 0.0.0):成功执行 3 次,共 3 次(0.001 秒/0.013 秒)
总计:6 次成功
[11:09:27] 4.52 秒后完成 'test'
进程终止,代码为 0。
当您使用 gulp-karma 时,您传入的参数与您直接传递给 karma 的参数不同。 忽略上面的 singleRun 参数。我将我的任务更改为以下内容(改为指定一个操作)并且它按您预期的那样工作:
gulp.task('test', ['testsSetup'], function() {
// Be sure to return the stream
// NOTE: Using the fake './foobar' so as to run the files
// listed in karma.conf.js INSTEAD of what was passed to
// gulp.src !
return gulp.src('./foobar')
.pipe(karma({
configFile: 'karma.conf.js',
action: 'watch',
showStack: true
}))
.on('error', function(err) {
// Make sure failed tests cause gulp to exit non-zero
console.log(err);
this.emit('end'); //instead of erroring the stream, end it
});
});