grunt-mocha-chai-sinon
Simple test runner for GruntJS using MochaJS as test framework, ChaiJS as assertion library for BDD and TDD and SinonJS as spyes/stubs/mocks utility library.
Gruntfile Example
// Gruntfile.js
module.exports = function(grunt) {
// configure tasks
grunt.initConfig({
'mocha-chai-sinon': {
build: {
src: ['./specs/**/*.spec.js'],
options: {
ui: 'bdd',
reporter: 'spec'
}
}
}
});
// load required tasks
grunt.loadNpmTasks("grunt-mocha-chai-sinon");
// register tasks for execution chain
grunt.registerTask('test', [
'mocha-chai-sinon'
]);
};
Test Coverage
Test coverage support is provided by node-jscoverage while source code is coverage enabled with BlancketJS.
In order to activate test coverage you need to create a new configuration for the mocha-chai-sinon
task and name it coverage
.
The name matter!
'mocha-chai-sinon': {
build: {
src: ['./specs/**/*.spec.js'],
options: {
ui: 'bdd',
reporter: 'spec'
}
},
coverage: {
src: ['./specs/**/*.spec.js'],
options: {
ui: 'bdd',
reporter: 'html-cov',
quiet: true,
filter: '/foo/foo1/',
captureFile: './coverage.html'
}
}
}
By default mocha-chai-sinon
add test coverage support to all loaded files who match the /project-folder/src/
path but you can configure it with the coverage.options.filter
option.