这是我的配置文件:
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所在的目录中。为什么呢?
答案 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/' }
]
},