node package manager

grunt-speckjs

Build Status

grunt-speckjs

Comment Driven Development

Getting Started

This plugin requires Grunt ~0.4.5

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-speck --save-dev

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

grunt.loadNpmTasks('grunt-speck');

The "speck" task

Usage Examples

Single Task Setup Example

In this example, the default options are to specify a target with src files, specType, and an output destination. SpeckJS will search for comments in the source files, and then output specfiles for the specified test suite.

grunt.initConfig({
  speck: {
    options: {
      specType: 'tape',
      specName: '--testSpec',
      logs: false
    },
    target: {
      src: ['src/*.js'],
      dest: 'test/'
    },
  },
});

Multi Task Setup Example

You can also setup SpeckJS in multitask mode, for example if you would like to have a different subtask for bulding tape test and one for jasmine tests as in the following example:

grunt.initConfig({
  speck: {
    tape: {
      options: {
        testFW: 'tape',
        specName: '--tape-testSpec',
        logs: true
      },
      files: {
        'test/tape/': ['src/**/*.js']
      }
    },
    jasmine: {
      options: {
        testFW: 'jasmine',
        specName: '--jasmine-testSpec',
        logs: true
      },
      files: {
        'test/jasmine/': ['src/**/*.js']
      }
    }
  },
});

options

  • testFW: the test suite for shich SpeckJS will build.
  • specName: the file name output of the spec files <originalfilename><specName>.js
  • logs: output on console success/error messages

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.