gulp-jsx-coverage
Enable coverage on .JSX or .coffee files.
This is not a gulp plugin, it just a task creator to help you deal with istanbul instrumenter and collect coverage report in gulp
NOTE: coffee html/lcov report is buggy now
Install
npm install gulp-jsx-coverage
Usage
- The golden rule: Use .jsx as ext name
gulp.task('your_task_name', require('gulp-jsx-coverage').createTask({
src: ['test/**/*.js', 'test/components/*.jsx'],
istanbul: {
coverageVariable: '__MY_TEST_COVERAGE__',
exclude: /node_modules|\/test\//
},
coverage: {
reporters: ['text-summary', 'json', 'lcov'],
directory: 'coverage'
},
mocha: {
reporter: 'spec'
},
react: {
sourceMap: true
},
coffee: {
sourceMap: true
}
}));
Live Example
git clone https://github.com/zordius/gulp-jsx-coverage.git
cd gulp-jsx-coverage
npm install
npm test
Output:
> gulp-jsx-coverage@0.0.1 test /Users/zordius/gulp-jsx-coverage
> gulp
[17:21:00] Using gulpfile ~/gulp-jsx-coverage/gulpfile.js
[17:21:00] Starting 'default'...
test coverage
✓ should covered
test coverage
✓ should covered
2 passing (32ms)
-------------------|-----------|-----------|-----------|-----------|
File | % Stmts |% Branches | % Funcs | % Lines |
-------------------|-----------|-----------|-----------|-----------|
test/ | 90.91 | 50 | 91.67 | 90.91 |
target.js | 66.67 | 100 | 50 | 66.67 |
test1.js | 100 | 100 | 100 | 100 |
test2.jsx | 93.33 | 50 | 100 | 93.33 |
test3.coffee | 88.89 | 50 | 100 | 88.89 |
-------------------|-----------|-----------|-----------|-----------|
All files | 90.91 | 50 | 91.67 | 90.91 |
-------------------|-----------|-----------|-----------|-----------|