-
Notifications
You must be signed in to change notification settings - Fork 11
/
Gruntfile.js
53 lines (44 loc) · 1.57 KB
/
Gruntfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
'use strict';
var exec = require('child_process').exec;
module.exports = function(grunt) {
// Add the grunt-mocha-test tasks.
grunt.loadNpmTasks('grunt-mocha-test');
grunt.loadNpmTasks('grunt-mocha-istanbul');
grunt.initConfig({
// Configure a mochaTest task
mochaTest: {
test: {
options: {
reporter: 'spec',
quiet: false, // Optionally suppress output to standard out (defaults to false)
clearRequireCache: false, // Optionally clear the require cache before running tests (defaults to false)
require: [function() { process.env.TEST_MODE = 'true'; }]
},
src: ['test/**/*.js']
}
},
mocha_istanbul: {
coverage: {
src: 'test/*.js', // a folder works nicely
options: {
mask: '*Spec.js'
}
}
}
});
grunt.registerTask('setTestMode', function() {
process.env.TEST_MODE = 'true';
});
grunt.registerTask('sendToCoveralls', function() {
exec('cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js', function(err) {
if (err) {
console.log(err);
} else {
console.log('Report Sent!');
}
});
});
grunt.registerTask('coverage', ['setTestMode', 'mocha_istanbul:coverage']);
grunt.registerTask('coveralls', 'coverage', 'sendToCoveralls');
grunt.registerTask('test', 'mochaTest');
};