伊斯坦布尔保持倾倒覆盖率报告HTML文件在错误的目录中

时间:2014-03-04 16:22:02

标签: javascript karma-runner istanbul

这是我的配置文件:

module.exports = function(config) {
    config.set({
        basePath: './',
        autoWatch: true,
        frameworks: ['jasmine'],
        files: [
            '../public_html/libs/mylib/lib.js',
            '../public_html/libs/mylib/utility.js',
            '../public_html/libs/mylib/config/*.js',
            '../public_html/libs/mylib/enumerations.js',
            '../public_html/libs/mylib/apiComm.js',
            '../public_html/libs/mylib/baseObject.js',
            '../public_html/libs/mylib/book.js',
            '../public_html/libs/mylib/file.js',
            '../public_html/libs/mylib/library.js',
            '../public_html/libs/mylib/publishing.js',
            '../public_html/libs/mylib/topic.js',
            '../test/*Spec.js'
        ],
        reporters: ['progress', 'coverage'],
        preprocessors: {
            '../public_html/libs/mylib/topic.js': ['coverage']
        },
        port: 9876,
        colors: true,
        browsers: ['Chrome'],
        captureTimeout: 60000,
        singleRun: false
    });
};

每当我运行karma start config/karma.config.js时,它都会运行单元测试并在正确的位置创建coverage文件夹。但是,它将topic.js.html文件转储到topic.js所在的目录中。为什么呢?

2 个答案:

答案 0 :(得分:3)

我知道这是迟到的回复,但它也可以帮助其他人。

将配置文件移到一个文件夹中,然后将“../public_html”更改为“public_html”

我刚刚完成了这件事。

是的,你需要......

coverageReporter: {
     type : 'html',
     dir : 'coverage/'
}

...正如Acosta所述,但是你在编写报告文件时指示伊斯坦布尔上一个目录,然后进入public_html文件夹。如果karma.conf.js文件与app和test文件夹位于同一文件夹中,那么您的报告应该在适当的位置呈现。

答案 1 :(得分:1)

您需要添加coverageReporter,

   coverageReporter: {
         type : 'html',
         dir : 'coverage/'
   }
你也可以添加一组记者

   coverageReporter: {
        reporters: [
          //{ type: 'html', dir: 'TestOutputFolder/' },
          { type: 'text-summary', dir: 'TestOutputFolder/' },
          { type: 'cobertura', dir: 'TestOutputFolder/' }
        ]
    },