grunt-not-constantinople v1.0.0
grunt-not-constantinople 
Grunt task to easily add Istanbul code coverage using any unit-testing framework.
Getting Started
This plugin requires Grunt ~0.4.4
-- Learn to use Grunt
Install the plugin with this command:
npm install grunt-not-constantinople --save-dev
Enable in your Gruntfile with:
grunt.loadNpmTasks('grunt-not-constantinople');
Quick setup
grunt.initConfig({
not_constantinople: {
coverage: {
options: {
unitTestTask: 'mochaTest'
}
}
},
mochaTest: {
test: {
options: {
reporter: 'spec'
},
src: ['tests/**/*.js']
}
},
});
This uses mochaTest as an example unit testing framework, but you can use any other framework instead. You just have to specify the task to be run as a string value for the unitTestTask
option.
The "not_constantinople" task
Overview
In your project's Gruntfile, add a section named not_constantinople
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
not_constantinople: {
customized_coverage: {
options: {
// REQUIRED OPTION - This should be the task that runs your unit tests (e.g. 'mochaTest', 'nodeunit:myTests', etc.)
unitTestTask: 'myUnitTestingTask',
// directory names to be used for your tests and coverage
directories: {
root: 'test',
coverage: 'coverage',
sourceFiles: 'app/*.js'
},
// Coverage thresholds. Set to false to ignore thresholds
thresholds: {
statements: 90,
branches: 90,
lines: 90,
functions: 90
},
// The format of the coverage reports
report: {
type: 'lcov',
print: 'detail'
},
// removes the contents of the coverage folder before running Istanbul
cleanup: true
}
}
},
});
All values in this example represent the default values that will be used if they are not specified.
Options
options.unitTestTask
Type: String
The string value for the Grunt task to be called to run your unit tests.
options.directories
Type: object
- root - directory that will contain your coverage directory
- coverage - directory that will contain all coverage files
- sourceFiles - The source files that are used by your unit tests
options.thresholds
Type: object
- statements - Percent coverage of statements that is considered passing
- branches - Percent coverage of logical branches that is considered passing
- lines - Percent coverage of lines that is considered passing
- functions - Percent coverage of functions that is considered passing
options.report
Type: object
- type - type of coverage report (e.g. lcov, html, etc.)
options.cleanup
Type: boolean
If true
, will remove the contents of the coverage folder before running Istanbul.
options.instrumentationOptions
Type: object
Use this to pass additional Istanbul instrumentation configuration along (some values may be overridden by this task). See the "instrumentation" section of the command output from istanbul help config
.
options.reportingOptions
Type: object
Use this to pass additional Istanbul reporting configuration along (some values may be overridden by this task). See the "reporting" section of the command output from istanbul help config
.
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.