我正在尝试获得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'
}
})}
有人有什么想法吗?
答案 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']
}
})}