gulp-mocha-phantomjs

run client-side Mocha tests with PhantomJS

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
gulp-mocha-phantomjs
6670.12.25 years ago9 years agoMinified + gzip package size for gulp-mocha-phantomjs in KB

Readme

gulp-mocha-phantomjs Build Status Build status
run client-side Mocha tests with PhantomJS

a simple wrapper for mocha-phantomjs-core library

Installation

node

$ npm install gulp-mocha-phantomjs --save-dev

Usage

<!DOCTYPE html>
<html>
    <head>
        <title>Mocha</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="../node_modules/mocha/mocha.css" />
    </head>
    <body>
        <script src="../node_modules/should/should.js"></script>
        <script src="../node_modules/mocha/mocha.js"></script>
        <script>mocha.setup('bdd')</script>
        <script>
            describe('true', function () {
                it('should be true', function () {
                    true.should.equal(true);
                });
            });
        </script>
        <script>
            mocha.run();
        </script>
    </body>
</html>

var gulp = require('gulp');
var mochaPhantomJS = require('gulp-mocha-phantomjs');

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

Reporter can be chosen via reporter option:
gulp.task('test', function () {
    return gulp
    .src('test/runner.html')
    .pipe(mochaPhantomJS({reporter: 'spec'}));
});

Output of mocha tests can be piped into a file via dump option:
gulp.task('test', function () {
    return gulp
    .src('test/runner.html')
    .pipe(mochaPhantomJS({reporter: 'spec', dump:'test.log'}));
});

Test against remote by url:
gulp.task('test', function () {
    var stream = mochaPhantomJS();
    stream.write({path: 'http://localhost:8000/index.html'});
    stream.end();
    return stream;
});

Suppress PhantomJS’s console output:
gulp.task('test', function() {
    return gulp
    .src('test/runner.html')
    .pipe(mochaPhantomJS({
        suppressStdout: true,
        suppressStderr: true
    }));
});

Pass options to mocha and/or PhantomJS:
gulp.task('test', function () {
    return gulp
    .src('test/runner.html')
    .pipe(mochaPhantomJS({
        reporter: 'tap',
        mocha: {
            grep: 'pattern'
        },
        phantomjs: {
            viewportSize: {
                width: 1024,
                height: 768
            },
            useColors:true
        }
    }));
});

License

MIT