https://github.com/jonkemp/node-qunit-phantomjs
Run QUnit unit tests in a headless PhantomJS instance without using Grunt
https://github.com/jonkemp/node-qunit-phantomjs
node-qunit-phantomjs phantomjs qunit
Last synced: over 1 year ago
JSON representation
Run QUnit unit tests in a headless PhantomJS instance without using Grunt
- Host: GitHub
- URL: https://github.com/jonkemp/node-qunit-phantomjs
- Owner: jonkemp
- License: mit
- Created: 2014-02-02T19:57:14.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2020-04-06T18:19:32.000Z (about 6 years ago)
- Last Synced: 2024-10-19T20:37:14.861Z (over 1 year ago)
- Topics: node-qunit-phantomjs, phantomjs, qunit
- Language: JavaScript
- Homepage:
- Size: 309 KB
- Stars: 37
- Watchers: 3
- Forks: 13
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-qunit-phantomjs [](https://travis-ci.org/jonkemp/node-qunit-phantomjs)
[](https://nodei.co/npm/node-qunit-phantomjs/)
> 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](https://github.com/Obvious/phantomjs) node module and the [PhantomJS Runner QUnit Plugin](https://github.com/jonkemp/qunit-phantomjs-runner).
If you're using [gulp](https://github.com/gulpjs/gulp), you should take a look at the [gulp-qunit](https://github.com/jonkemp/gulp-qunit) plugin.
## Install
Install with [npm](https://npmjs.org/package/node-qunit-phantomjs)
globally:
```bash
$ npm install -g node-qunit-phantomjs
```
or locally:
```bash
$ npm install --save-dev node-qunit-phantomjs
```
## Usage
Via command line:
```bash
$ node-qunit-phantomjs ./test/fixture.html
```
With options:
```bash
$ 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:
```bash
$ node-qunit-phantomjs ./test/fixture.html 5 '{"viewportSize":{"width":1000,"height":1000}}'
```
Or require it as a module:
```js
var qunit = require('node-qunit-phantomjs');
qunit('./test/fixture.html');
```
Verbose option to output list as test cases pass or fail:
```js
var qunit = require('node-qunit-phantomjs');
qunit('./test/fixture.html', { 'verbose': true });
```
Page option example to set the viewport size::
```js
var qunit = require('node-qunit-phantomjs');
qunit('./test/fixture.html', {'page': {
viewportSize: { width: 1280, height: 800 }
}});
```
Sample [gulp](https://github.com/gulpjs/gulp) task:
```js
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](http://phantomjs.org/api/command-line.html) for more information.
#### options.page
Type: `Object`
Default: `None`
These options are passed on to PhantomJS. See the [PhantomJS documentation](http://phantomjs.org/page-automation.html) 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](https://github.com/jonkemp/qunit-phantomjs-runner).
## License
MIT © [Jonathan Kemp](http://jonkemp.com)