jonkemp / gulp-qunit

Run QUnit unit tests in a headless PhantomJS instance.
MIT License
24 stars 19 forks source link
gulp-plugin qunit

gulp-qunit Build Status Coverage Status

NPM

Run QUnit unit tests in a headless PhantomJS instance.

Run QUnit unit tests in a PhantomJS-powered headless test runner, providing basic console output for QUnit tests. Uses the phantomjs node module and the PhantomJS Runner QUnit Plugin.

Inspired by the grunt plugin grunt-contrib-qunit.

Install

Install with npm

$ npm install --save-dev gulp-qunit

Usage

var gulp = require('gulp'),
    qunit = require('gulp-qunit');

gulp.task('test', function() {
    return gulp.src('./qunit/test-runner.html')
        .pipe(qunit());
});

With options:

var gulp = require('gulp'),
    qunit = require('gulp-qunit');

gulp.task('test', function() {
    return gulp.src('./qunit/test-runner.html')
        .pipe(qunit({'phantomjs-options': ['--ssl-protocol=any']}));
});

With page options:

var gulp = require('gulp'),
    qunit = require('gulp-qunit');

gulp.task('test', function() {
    return gulp.src('./qunit/test-runner.html')
        .pipe(qunit({'page': {
            viewportSize: { width: 1280, height: 800 }
        }}));
});

You no longer need this plugin to run QUnit tests in your gulp tasks. Now you can do this with node-qunit-phantomjs, a stand alone module. It can also be used via command line, and it has an option for more verbose test reporting.

var gulp = require('gulp'),
    qunit = require('node-qunit-phantomjs');

gulp.task('test', function() {
    qunit('./qunit/test-runner.html');
});

With phantomjs2:

var gulp = require('gulp'),
    qunit = require('gulp-qunit');

gulp.task('test', function() {
    return gulp.src('./qunit/test-runner.html')
        .pipe(qunit({'binPath': require('phantomjs2').path}));
});

API

qunit(options)

options.timeout

Type: Number
Default: 5

Pass a number or string value to override the default timeout of 5 seconds.

options.phantomjs-options

Type: Array
Default: None

These options are passed on to PhantomJS. See the PhantomJS documentation for more information.

options.page

Type: Object
Default: None

These options are passed on to PhantomJS. See the PhantomJS documentation for more information.

options.binPath

Type: String Default: require("phantomjs").path

The option is used to execute phantomjs binary path

options.runner

Type: String Default: require.resolve('qunit-phantomjs-runner')

This option is used to configure the test runner used to control phantomjs

License

MIT © Jonathan Kemp