Покрытие кода для ES6 с использованием Gulp Стамбул

Я пытаюсь сгенерировать отчет о покрытии в Стамбуле для моего приложения js es6 узла, в котором есть тесты mocha. Я использовал isparta для кодирования инструментов, а также babel для перехода с ES6 на ES5, но, к сожалению, ничего не помогло. Кто-нибудь успешно генерировать отчет о покрытии кода с помощью Gulp Стамбул. Когда я запускаю nyc из командной строки на не-ES6, отчет о покрытии кода идет хорошо (у меня есть некоторые модульные тесты, написанные не в стиле ES6). Пожалуйста, найдите код ниже.

gulp.task('coverage',function(cb){
    return gulp.src(['./server/controllers/*.js','./server/services/*.js'])
        .pipe(istanbul({
            includeUntested:true,
            instrument: Instrumenter,
        excludes:[['*.spec.js', '*.watcherSpec.js','*.intspec.js',]]}))
        .pipe(babel({
            plugins:[["transform-es2015-arrow-functions",{ "spec": true }]]
        }))
        .pipe(istanbul.hookRequire()) //force 'require' to return covered files
})

gulp.task('api-tests', ['coverage'], function (cb) {
    gulp.src(['./server/**/*.intspec.js'])
        .pipe(mocha({
            harmony: true,
            timeout: '10000',
            reporter: 'spec',
            excludes: ['*.spec.js', '*.watcherSpec.js'],
            env: {
                'NODE_ENV': 'integration-testing',
                'hostedAddress': hostedAddress
            }
        }))
        .pipe(istanbul.writeReports({
            dir: './coverage',
            reporters: [ 'html' ],
            reportOpts: { dir: './coverage'}
        }))
        .on('end', cb);
});

0 ответов

Другие вопросы по тегам