node package manager



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:


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: [
      // Additional AMD configuration 
      // to apply to the spec runner 
      amdConfig: {
        paths: {
          someRealObject: 'someMockObject'
      // Location of Jasmine specs to test 
      specs: [
      // AMD modules required for all tests 
      libs: [
      // Files to not be included as test specs 
      exclude: [
      // PhantomJS timeout (ms). Default is 3000 
      timeout: 10000