grunt-jasmine-legacy

1.2.4 • Public • Published

grunt-jasmine-legacy

A Grunt task for running Jasmine v1.3 tests using RequireJS and PhantomJS.

Getting Started

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-jasmine-legacy --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-jasmine-legacy,');

Why not use grunt-contrib-jasmine?

The grunt-contrib-jasmine task has dropped support for Jasmine v1.3. I created this task for a project with a large base of tests written using the Jasmine v1.3 API.

How does it work?

The grunt-jasmine-legacy task:

  • Uses a template to create an AMD spec runner
  • Executes the spec runner using PhantomJS
  • Reports the results using the PhantomJSReporter, which listens to events emitted by grunt-lib-phantomjs, and outputs test results to the console.
  • Saves the spec runner HTML file for further debugging, if needed (using the standard jasmine.HTMLReporter)

Example configuration

'jasmine-legacy': {

  // Each sub-task will have a specrunner created for it
  // eg /tests/specrunner-myLib.html
  myLib: {
    options: {

      // Location of require.config settings
      amdConfigModules: [
        '../config-amd'
      ],

      // Additional AMD configuration
      // to apply to the spec runner
      amdConfig: {
        paths: {
          someRealObject: 'someMockObject'
        }
      },

      // Location of Jasmine specs to test
      specs: [
        'tests/**/*.spec.js'
      ],

      // AMD modules required for all tests
      libs: [
        'jasmine',
        'jasmine-console',
        'jasmine-html',
        'lib/myCustomJasmineMatchers',
        'sinon'
      ],

      // Files to not be included as test specs
      exclude: [
        'tests/fixtures/**/*.js'
      ],

      // PhantomJS timeout (ms). Default is 3000
      timeout: 10000
    }
  },
}

Package Sidebar

Install

npm i grunt-jasmine-legacy

Weekly Downloads

11

Version

1.2.4

License

MIT

Last publish

Collaborators

  • lhuffmam
  • four43
  • eschwartz