Karma-Coverage未能运行

时间:2013-11-06 22:44:47

标签: angularjs code-coverage karma-runner

我正在尝试获得angular.js项目的单元测试覆盖率。我通过配置使用Karm和Karma-coverage工具。我没有看到任何覆盖记者正在运行的输出

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'
    }
})}

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我通过以下方式解决了这个问题:

删除node_modules并重新安装先决条件。由于使用节点安装的sudo要求,我遇到了karma-coverage插件无法安装的问题。通过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']
    }
})}