在 gulp 任务中使用业力获取报告
getting a report using karma in gulp task
我有一个测试任务,这里是:
gulp.task('test', function (done) {
return new Server({
configFile: __dirname + '/karma.conf.js',
singleRun: true
}).start();
});
工作正常。问题是它产生的输出非常有限:
IE 11.0.0 (Windows 7 0.0.0): Executed 2 of 2 SUCCESS
在命令行上没问题。但是,我想要在某些文件中生成更详细的报告,其中测试是 运行 和 succeeded/failed 等。我不是在寻找一些 xml 或任何特殊的东西。只是一个文本文件,对于打开文件的人来说是可读的。
我知道有很多记者可供选择,但我很难选择最好的一位。此外,我不确定如何将它集成到 gulp 任务中。
提前致谢。
如果你想生成输出文件 and/or 使用 PhantomJS,那么我建议使用 karma-html-reporter : npm install --save-dev karma-html-reporter
- 在
karma.conf.js
中:reporters: ['html']
如果您在 Chrome 或 Firefox 等浏览器中启动测试,那么我喜欢 karma-jasmine-html-reporter。要查看输出,您需要单击浏览器 top-right 角的 DEBUG 按钮:npm install --save-dev karma-jasmine-html-reporter
- 在
karma.conf.js
中:reporters: ['html']
或者您可以同时使用两者:npm install --save-dev karma-html-reporter Nocomm/karma-jasmine-html-reporter
- 在
karma.conf.js
中:reporters: ['html', 'kjhtml']
就 Gulp 而言,您可以利用 karma
node_module 而不必安装 gulp-karma
。您将需要使用 npm 安装 gulp-jasmine
。我喜欢Gulp4.x,但是你用npm安装的时候要指定你想要的gulp版本; link 解释了如何操作。 Gulp 4.X 使您可以选择 运行 并行或顺序执行任务。如果您使用 gulp 的早期版本,则省略最后一条语句中的 gulp.series
,而是将两个任务封装在一个列表中:('jasmine', 'karma')
.
var gulp = require('gulp'),
karma = require('karma').Server,
jasmine = require('gulp-jasmine');
gulp.task('karma', function(done) {
new karma({
configFile: __dirname + '/karma.conf.js',
singleRun: false
}, done).start();
});
gulp.task('jasmine', function() {
return gulp.src('client/tests/**/*.spec.js')
.pipe(jasmine());
});
gulp.task('test', gulp.series(
'jasmine',
'karma'
));
然后 运行 gulp test
。
我有一个测试任务,这里是:
gulp.task('test', function (done) {
return new Server({
configFile: __dirname + '/karma.conf.js',
singleRun: true
}).start();
});
工作正常。问题是它产生的输出非常有限:
IE 11.0.0 (Windows 7 0.0.0): Executed 2 of 2 SUCCESS
在命令行上没问题。但是,我想要在某些文件中生成更详细的报告,其中测试是 运行 和 succeeded/failed 等。我不是在寻找一些 xml 或任何特殊的东西。只是一个文本文件,对于打开文件的人来说是可读的。
我知道有很多记者可供选择,但我很难选择最好的一位。此外,我不确定如何将它集成到 gulp 任务中。
提前致谢。
如果你想生成输出文件 and/or 使用 PhantomJS,那么我建议使用 karma-html-reporter :
npm install --save-dev karma-html-reporter
- 在
karma.conf.js
中:reporters: ['html']
- 在
如果您在 Chrome 或 Firefox 等浏览器中启动测试,那么我喜欢 karma-jasmine-html-reporter。要查看输出,您需要单击浏览器 top-right 角的 DEBUG 按钮:
npm install --save-dev karma-jasmine-html-reporter
- 在
karma.conf.js
中:reporters: ['html']
- 在
或者您可以同时使用两者:
npm install --save-dev karma-html-reporter Nocomm/karma-jasmine-html-reporter
- 在
karma.conf.js
中:reporters: ['html', 'kjhtml']
- 在
就 Gulp 而言,您可以利用 karma
node_module 而不必安装 gulp-karma
。您将需要使用 npm 安装 gulp-jasmine
。我喜欢Gulp4.x,但是你用npm安装的时候要指定你想要的gulp版本; link 解释了如何操作。 Gulp 4.X 使您可以选择 运行 并行或顺序执行任务。如果您使用 gulp 的早期版本,则省略最后一条语句中的 gulp.series
,而是将两个任务封装在一个列表中:('jasmine', 'karma')
.
var gulp = require('gulp'),
karma = require('karma').Server,
jasmine = require('gulp-jasmine');
gulp.task('karma', function(done) {
new karma({
configFile: __dirname + '/karma.conf.js',
singleRun: false
}, done).start();
});
gulp.task('jasmine', function() {
return gulp.src('client/tests/**/*.spec.js')
.pipe(jasmine());
});
gulp.task('test', gulp.series(
'jasmine',
'karma'
));
然后 运行 gulp test
。