1.3.1 • Published 9 years ago

spawn-mocha-parallel v1.3.1

Weekly downloads
30
License
MIT
Repository
github
Last release
9 years ago

spawn-mocha-parallel

This let you run your test in parallel by spawning several child processes. It was designed to be used with gulp, but since it relies only on npm, it may be used within various configuration.

NPM version Downloads Dependency Status devDependency Status

Credits

This was originaly a fork of gulp-spawn-mocha but has deviated a lot since then.

Usage

Using built in mochaStream:

var mochaStream = require('spawn-mocha-parallel').mochaStream;

var mocha = mochaStream({concurrency: 10});

gulp.task('test-mocha', function() {
  gulp.src('**/*-specs.js', {read: false}) 
    .pipe(mocha)
    .on('error', console.error)
});

Using SpawnMocha

var SpawnMocha = require('spawn-mocha-parallel').SpawnMocha,
    _ = require('lodash');
    through = require('through');

// customize output as you need
function mochaStream(opts) {
  opts = opts || {};
  var spawnMocha = new SpawnMocha(opts);
  var stream = through(function write(file) {
    spawnMocha.add(file.path);
  }, function() {});
  var errors = [];
  spawnMocha.on('error', function(err) {
    console.error(err.toString());
    errors.push(err);
  }).on('end', function() {
    if(errors.length > 0) {
      console.error('ERROR SUMMARY: ');
      _(errors).each(function(err) {
        console.error(err);
        console.error(err.stack);
      });
      stream.emit('error', "Some tests failed.");
    }
    stream.emit('end');
  });
  return stream;
}

var mocha = mochaStream({concurrency: 3});

gulp.task('test-custom-mocha', function() {
  gulp.src('**/*-specs.js', {read: false}) 
    .pipe(mocha)
    .on('error', console.error)
});

Options

  • concurrency: # of mocha instance running in parallel (default: 1)
  • env mocha running env, (default: process.env)
  • flags: mocha flags (default: none)
  • liveOutput: print output direct to console
  • errorSummary: show error summary (default: true)

Todo

  • concatenate mocha status at the end

License

MIT

1.3.1

9 years ago

1.3.0

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.0

10 years ago

0.0.1-beta3

10 years ago

0.0.1-beta2

10 years ago

0.0.1-beta1

10 years ago