Karma-Coverage не работает

Я пытаюсь получить модульное тестовое покрытие для проекта angular.js. Я использую Karm и инструмент покрытия Karma через config. Я вообще не вижу никакого вывода о том, что работает репортер покрытия.

DEBUG [preprocessor.coverage]: Processing "/home/ <blah>"

Препроцессор работает, я вижу это в консоли. Точно так же я вижу, что репортер junit создает файл после запуска тестов:

DEBUG [reporter.junit]: JUnit results written to...

Я ничего не вижу о покрытии кода и нигде не могу найти файл. Вот конфиг:

module.exports = function(config){
    config.set({
    basePath : '../',
    logLevel: config.LOG_DEBUG,

    reporters: ['progress', 'junit', 'coverage'],

    preprocessors : {
       'app/js/**/*.js': ['coverage']
    },

    files : [
      'app/lib/jquery-1.10.2.min.js',
      'app/lib/angular/angular.js',
      'app/lib/angular/angular-*.js',
      'test/lib/angular/angular-mocks.js',
      'app/js/**/*.js',
      'test/unit/**/*.js'
    ],

    autoWatch : true,

    frameworks: ['jasmine'],

    browsers : ['Chrome'],

    plugins : [
            'karma-junit-reporter',
            'karma-chrome-launcher',
            'karma-firefox-launcher',
            'karma-jasmine',
            'karma-coverage'       
        ],
    coverageReporter : {
           type : 'text',
           file : 'coverage.txt'
    },
    junitReporter: {
        outputFile: 'test-results.xml'
    }
})}

У кого-нибудь есть идеи?


person Jeremiah Adams    schedule 06.11.2013    source источник
comment
Столкнулся с точно такой же проблемой, в инете ничего не нашел.   -  person shellscape    schedule 08.11.2013


Ответы (1)


Я исправил это:

Удаление node_modules и переустановка необходимых компонентов. У меня возникла проблема с установкой плагина karma-coverage из-за требований sudo при установке узла. Установка через sudo npm install устранила проблему.

Я также удалил всю ерунду из своего конфига кармы:

module.exports = function(config){
    config.set({
    basePath : '../',
    logLevel: config.LOG_DEBUG,
    frameworks: ['jasmine'],

    files : [
        'app/lib/jquery-1.10.2.min.js',
        'app/lib/angular/angular.js',
        'app/lib/angular/angular-*.js',
        'test/lib/angular/angular-mocks.js',
        'app/lib/underscore.js',
        'app/lib/**/*.js',
        'app/js/**/*.js',
        'test/unit/**/*.js'
    ],

    browsers : ['PhantomJS'],
    singleRun: true,
    reporters: ['progress', 'coverage'],
    preprocessors : {
       'app/js/**/*.js': ['coverage']
    }
})}
person Jeremiah Adams    schedule 13.11.2013