プロジェクトに React.js を使用しています。
テスト フレームワークとして Mocha と chai を使用しています。
さて、コードカバレッジ部分にはgulp-istanbulを使いたいと思います。
サーバー側の部分はまったく問題なく動作していますが、クライアント側に関しては、次のコードを使用しています。
var istanbul = require('gulp-istanbul');
var mocha = require('gulp-mocha');
var isparta = require('isparta');
gulp.task('pre-test', function () {
return gulp.src(['lib/**/*.js'])//all jsx files and ES6 files
.pipe(istanbul(
instrumentar: isparta.instrumentar//isparta is no use full. not sure why
))
.pipe(istanbul.hookRequire());
});
gulp.task('test', ['pre-test'], function () {
return gulp.src(['test/*.js'])
.pipe(mocha())
.pipe(istanbul.writeReports())
.pipe(istanbul.enforceThresholds({ thresholds: { global: 90 } }));
});
しかし、私は上記のコードで仕事を成し遂げていません。
gulp タスクで ES6 または ReactJS コードのトランスパイルに失敗しているようです。
gulp-jsx-coverage などの他のモジュールを使用して行うこともできますが、私はこのアプローチに従いたいと考えています。
このタスクを達成する方法について何か意見はありますか?