Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    grunt-jasmine-taskpublic

    grunt-jasmine-task

    Grunt task for running jasmine specs.

    Status: stable
    Any timeout troubles with tests finishing before the injection of the grunt task files should be solved, if not please reopen #4.

    Contact

    You can contact me on twitter: @camillereynders

    Getting Started

    Make sure you got PhantomJS installed, which is a headless browser. Unfortunately PhantomJS cannot be installed automatically through grunt. See the grunt faq for installation instructions.

    Install this grunt plugin next to your project's grunt.js gruntfile with: npm install grunt-jasmine-task

    (ie. the plugin is installed locally. If you want to install it globally - which is not recommended - check out the official grunt documentation)

    You also need to install the temporary module

    Although it is marked as a dependency in the grunt-jasmine-task module and automatically is installed together with the jasmine plugin, for some reason it cannot be found, therefore it needs to be installed separately, either as a global or local module.

    To install it locally do: npm install temporary

    Then add this line to your project's grunt.js gruntfile at the bottom:

    grunt.loadNpmTasks('grunt-jasmine-task');

    Next you need to create (a) target(s) for the jasmine task.

    If you want to run one file just add this to the grunt.initConfig object

    jasmine: {
      all: ['specs/specrunner.html']
    },

    Obviously you need to replace specs/specrunner.html with the location of your jasmine spec running html file.

    Since v0.2.1: errorReporting config option.

    When errorReporting is true the failing spec description will be outputted to the console, even when run in non-verbose mode.

    jasmine: {
      all: {
        src:['specs/specrunner.html'],
        errorReporting: true
      }
    },

    Since v0.2.0: timeout config option. By default the task will fail after 10 seconds of inactivity, however you can override this if you want:

    jasmine: {
      all: {
        src:['specs/specrunner.html'],
        timeout: 20000 //in milliseconds 
      }
    },

    This is useful for async assertions that may require more than 10 seconds to run.

    Now you can run the jasmine task with:

    grunt jasmine

    When specs fail...

    By default the jasmine task outputs in non-verbose mode, meaning it will output dots for passed specs and F's for failed ones. You can see which spec is failing by running the task in verbose mode:
    grunt jasmine -v
    or (since v0.2.1) you can turn on reporting for failing specs even in non-verbose mode, see errorReporting config option

    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.

    More info on creating grunt plugins

    Release History

    • v0.2.3: solved timeout woes #4
    • v0.2.2: removed grunt as a dependency
    • v0.2.1: added errorReporting configuration option
    • v0.2.0: added timeout configuration option
    • v0.1.1: stable
    • v0.1.0: broken

    License

    Copyright (c) 2012 Camille Reynders
    Licensed under the MIT license.

    Keywords

    none

    install

    npm i grunt-jasmine-task

    Downloadslast 7 days

    171

    version

    0.2.3

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar