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-devEnable 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.