Home

Awesome

devDependency Status

gulp-karma

Karma integration into Gulp.js-based build.

tl;dr;

You don't need any gulp plugins (why?) to run Karma from the Gulp-based build, use Karma directly:

var gulp = require('gulp');
var Server = require('karma').Server;

/**
 * Run test once and exit
 */
gulp.task('test', function (done) {
  new Server({
    configFile: __dirname + '/karma.conf.js',
    singleRun: true
  }, done).start();
});

Illustrated tasks

This sample project illustrates 2 usage scenarios of Karma integration in the Gulp.js build:

Do we need a plugin?

While there exist integration of the karma-runner into Grunt based builds (https://github.com/karma-runner/grunt-karma) we've decided not to create a dedicated plugin for Gulp.js. The reasoning here is that it is very, very easy to invoke Karma's public API directly from a Gulp.js task, as illustrated in this repository. Writing a dedicated plugin would bring little benefit and could limit possible usage scenarios.

To see how easy is to integrate Karma into an existing Gulp.js build just check the included gulpfile.js.

There are several people moving from Grunt.js to Gulp.js who noticed that with Gulp we often don't need a dedicated plugin anymore. For example, a good overview of such situation can be found in the following article.