jonkemp / node-qunit-phantomjs

Run QUnit unit tests in a headless PhantomJS instance without using Grunt
MIT License
37 stars 13 forks source link
node-qunit-phantomjs phantomjs qunit

node-qunit-phantomjs Build Status

NPM

Run QUnit unit tests in a headless PhantomJS instance without using Grunt.

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.

If you're using gulp, you should take a look at the gulp-qunit plugin.

Install

Install with npm

globally:

$ npm install -g node-qunit-phantomjs

or locally:

$ npm install --save-dev node-qunit-phantomjs

Usage

Via command line:

$ node-qunit-phantomjs ./test/fixture.html

With options:

$ node-qunit-phantomjs ./test/fixture.html --verbose

$ node-qunit-phantomjs ./test/fixtures/passing.html --timeout=5

$ node-qunit-phantomjs ./test/fixtures/passing.html --timeout 5

Example setting the viewport size:

$ node-qunit-phantomjs ./test/fixture.html 5 '{"viewportSize":{"width":1000,"height":1000}}'

Or require it as a module:

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

qunit('./test/fixture.html');

Verbose option to output list as test cases pass or fail:

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

qunit('./test/fixture.html', { 'verbose': true });

Page option example to set the viewport size::

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

qunit('./test/fixture.html', {'page': {
    viewportSize: { width: 1280, height: 800 }
}});

Sample gulp task:

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

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

API

qunit(path-to-test-runner[, options]);

Opens a test runner file in PhantomJS and logs test results to the console.

options.verbose

Type: Boolean
Default: none

Add list as test cases pass or fail to output.

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.timeout

Type: Number
Default: 5

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

options.customRunner

Type: String Default: None

A path to a custom PhantomJS runner script. A custom runner can be used to have more control over PhantomJS (configuration, hooks, etc.). Default runner implementations are provided by the PhantomJS Runner QUnit Plugin.

License

MIT © Jonathan Kemp