joshuaapple / gulp-mocha-phantomjs

run client-side Mocha tests with PhantomJS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gulp-mocha-phantomjs Build Status

run client-side Mocha tests with PhantomJS

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>
    <div id="mocha"></div>
    <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>
      if (window.mochaPhantomJS) {
        mochaPhantomJS.run();
      } else {
        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: 'xunit', dump:'test.xml'}));
});

Test against remote by url:

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

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
      }
    }
  }));
});

License

MIT

About

run client-side Mocha tests with PhantomJS


Languages

Language:JavaScript 100.0%