Giter Club home page Giter Club logo

gulp-jasmine-phantom's Introduction

gulp-jasmine-phantom

A gulp plugin that runs Jasmine tests with either PhantomJS or minijasminenode2.

Dependencies

This module uses execSync which is not available in any version of Node under 0.12.x. If you have any specific concerns about upgrading versions of Node or reasons not use execSync feel free to open an issue!

Before you install gulp-jasmine-phantom please ensure that you have PhantomJS installed on your machine. The plugin assumes that the phantomjs binary is available in the PATH and executable from the command line.

If not, ensure you at least have phantomjs as an npm dependency. The module checks in ./node_modules/phantomjs for an executable if you do not have it installed globally.

**If you do not have phantomjs installed please install following these directions.

Install

$ npm install --save-dev gulp-jasmine-phantom

Usage

By default, gulp-jasmine-phantom runs your tests with minijasminenode and not phantomjs. This is an effort to keep your tasks running as quickly as possible!

Basic usage:

var gulp = require('gulp');
var jasmine = require('gulp-jasmine-phantom');

gulp.task('default', function () {
  return gulp.src('spec/test.js')
          .pipe(jasmine());
});

To use phantomjs for tests (ie: integration tests) use the following setup:

var gulp = require('gulp');
var jasmine = require('gulp-jasmine-phantom');

gulp.task('default', function() {
  return gulp.src('spec/test.js')
          .pipe(jasmine({
            integration: true
          }));
});

Also, remember you can always run any multitude of tests using different Gulp tasks. For example, running unit tests and integration tests asynchronously.

var gulp = require('gulp');
var jasmine = require('gulp-jasmine-phantom');

gulp.task('unitTests', function () {
  return gulp.src('spec/test.js')
          .pipe(jasmine());
});

gulp.task('integrationTests', function() {
  return gulp.src('spec/test.js')
          .pipe(jasmine({
            integration: true
          }));
});

Options

integration

Type: boolean
Default: false

Run your tests with phantomjs

keepRunner

Type: boolean | string
Default: false

Keep the specRunner.html file after build. If given a string, it will keep the runner at the string path.

includeStackTrace

Type: boolean
Default: false

Prints out a longer stack trace for errors.

abortOnFail

Type: boolean
Default: false

Currently built with integration mode only
Exits Gulp with an status of 1 that will halt any further Gulp tasks.

specHtml

Type: string
Default: null

Only use in combination with integration: true

Allows you to specify the HTML runner that Jasmine uses only during integration tests.

vendor

Type: string | array
Default: null

Only use in combination with integration: true

A list of vendor scripts to import into the HTML runner, either as file globs (e.g. "**/*.js") or fully-qualified URLs (e.g. "http://my.cdn.com/jquery.js").

This option accepts either a single string or an array of strings (e.g. ["test/*.js", "http://my.cdn.com/underscore.js"]).

jasmineVersion (integration tests only)

Type: string
Default: '2.0'

Only use in combination with integration: true

Specifies the version of Jasmine you want to run. Possible options are in the vendor/ folder. Just specify what 2.x minor release you want.

random (unit tests only)

Type: 'boolean'
Default: false

Allows you to run the unit tests in a semi-random order. The random seed will be printed out after the tests have completed to allow for easier debugging.

seed (unit tests only)

Type: 'number'

Provides a given seed to Jasmine to run the tests in.

Technologies Used

  • Node
  • Gulp

gulp-jasmine-phantom's People

Contributors

dflynn15 avatar albertlic3 avatar lnikkila avatar adammark avatar ciceropablo avatar konradk avatar matheusazzi avatar plaristote avatar rix501 avatar henrikrudstrom avatar

Watchers

Juan Germán Castañeda Echevarría avatar James Cloos avatar Ted Tran avatar Houman Behzadi avatar Aaron Acosta avatar Anirudh Jayakumar avatar Henry Wong avatar Jermaine Chan avatar Dirk Hain avatar Gautam Bhat avatar Archana avatar Mehdi Maasoumy avatar Dylan Ferris avatar Shawn Sun avatar Michelle Zheng avatar  avatar Huanwen Chen avatar Alex Ding avatar  avatar John Carlo Buenaflor avatar  avatar  avatar Daisy avatar  avatar  avatar Danielle YoungSmith avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.