Отчет по охвату кода Стамбула - Мокко

Действительно ли Стамбул пытается получить покрытие для файлов, которые я пытаюсь проверить, или файлов, которые были написаны для проверки. Пример применения моего узла У меня есть тест, написанный с использованием Mocha, и мои тесты и реальные файлы находятся в той же папке, что и ниже.

..Server/Controllers/ - здесь у меня есть оба контроллера cntrlOne.js, которые я хочу протестировать, а также файлы cntrlOne.intspec.js вместе.

Моя цель - узнать, сколько кода покрывается моими тестами.

Когда я запускаю следующую задачу gulp, я вижу, что отчет о покрытии записывается в html-файл, но все, что я вижу, это отчет о покрытии для файлов.intspec.js, но не фактические файлы. Я действительно не мог понять, предназначен ли отчет о покрытии для файлов intspec и для тех файлов, которые проверяются этими файлами intspec. Отчет показывает 100% охват, что определенно не соответствует действительности.

gulp.task('coverage',['api-tests'],function(cb){
    gulp.src(['./server/**/*.intspec.js'])
        .pipe(istanbul({ includeUntested: true}))
        .pipe(istanbul.writeReports({
            dir: './coverage',
            reporters: [ 'html' ],
            reportOpts: { dir: './coverage'}
        }))
        .on('end', cb);
})

gulp.task('api-tests', function (cb) {
    gulp.src(['./server/**/*.intspec.js'])
        .pipe(mocha({
            harmony: true,
            timeout: '10000',
            reporter: 'spec',
            excludes: ['*.spec.js', '*.watcherSpec.js']
        }))
        .on('end', cb);
});

Я также попытался переместить эти тестовые файлы в другую папку, и только мои фактические файлы кода были в моей папке контроллера, и изменил мое местоположение src в gulp на gulp.src(['./server/controller/*. Js']) он генерирует отчет с пустой таблицей, за исключением заголовков.

Еще одна вещь, которую я попробовал, чтобы сохранить мои файлы вместе, как есть, и попытался исключить файлы intspec, изменив gulp, как показано ниже, но он все еще сканирует файлы.intspec вместе со всеми файлами.js, а также публикуемый им отчет не Похоже, что он не подходит для файлов фактического кода, я уверен, что мой тест покрывает не менее 25% кода, но в отчете говорится, что менее 2%

gulp.src(['./server/**/*.js'])
    .pipe(istanbul({ includeUntested: true,
                    excludes: ['*.intspec.js']})) 

0 ответов

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