grunt-jasmine-legacy
v1.2.4
Published
A Grunt task for running Jasmine v1.3 tests using RequireJS and PhantomJS
Downloads
9
Readme
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
}
},
}