いろいろ迷ったのでメモ。結局 gulp-istanbul と ispartaを使った
istanbulもispartaもコードカバレッジツールだが、
ispartaがes2015対応なので、instrumenterにispartaのものを使っている
インストール
npm install --save-dev gulp-istanbul
npm insatll --save-dev isparta
Version
$node -v
v0.12.0
$npm list
...
..mocha@2.3.4
..gulp@3.9.0
..gulp-istanbul@0.10.3
..istanbul@0.4.2
..isparta@4.0.0
gulpfileを編集
gulpfile.js
import gulp from 'gulp'
import mocha from 'gulp-mocha'
import istanbul from 'gulp-istanbul'
const SOURCES = 'src/**/*.js'
const TEST_FILES = 'test/**/*.js'
gulp.task('pre-test-coverage', () => {
return gulp.src(SOURCES)
.pipe(istanbul( { instrumenter: require('isparta').Instrumenter }))
.pipe(istanbul.hookRequire());
})
gulp.task('test:coverage', ['pre-test-coverage'], () => {
return gulp.src(TEST_FILES)
.pipe(mocha())
.pipe(istanbul.writeReports())
.pipe(istanbul.enforceThresholds({ thresholds: { global: 90 } }));
})
実行
gulp test:coverage