我正试着为我的角度SPA做一些单元测试。我用业力做了一些,它们运行得很好,但后来我决定安装业力覆盖来查看测试覆盖率。我已经浪费了很多时间去看这份报告。我安装了业力覆盖,现在我的package.json看起来像:
"dependencies": {
"angular-mocks": "^1.5.6",
"jasmine-core": "^2.4.1",
"karma": "^0.13.22",
"karma-chrome-launcher": "^1.0.1",
"karma-coverage": "^1.0.0",
"karma-firefox-launcher": "^1.0.0",
"karma-jasmine": "^1.0.2",
"karma-ng-html2js-preprocessor": "^1.0.0"
}注:我已经尝试过不同的业力和业力覆盖,但结果是一样的。我的karma.conf.js
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
files: [
'bower_components/angular/angular.js',
'bower_components/angular-resource/angular-resource.js',
'bower_components/angular-route/angular-route.js',
'bower_components/angular-sanitize/angular-sanitize.js',
'node_modules/angular-mocks/angular-mocks.js',
'**/*.module.js',
'**/**/*.module.js',
'*!(.module|.spec).js',
'!(bower_components|node_modules)/**/*!(.module|.spec).js',
'**/**/*.spec.js',
'**/*.html'
],
exclude: [
],
preprocessors: {
'**/*.js': ['coverage'],
'**/*.html': ['ng-html2js']
},
coverageReporter:{
type:'html',
dir:'coverage/'
},
reporters: ['progress', 'coverage'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: false,
browsers: ['Chrome'],
singleRun: false,
concurrency: Infinity
})
};注意:我尝试过不同的预处理设置,不同的coverageReporter设置。
但是结果总是一样的:我试图打开http://localhost:9876/coverage/或http://localhost:9876/coverage/index.html,却没有找到404。我甚至试图更改C:/Dev/coverage/但目录上的dir属性。业力测试运行正确,但我无法得到覆盖报告。
发布于 2016-07-01 12:38:52
再过几个小时我就修好了。实际上并不知道它有效,但似乎,我应该设置真正的autoWatch。这是我的karma.conf.js
//jshint strict: false
module.exports = function(config) {
config.set({
basePath: './',
files: [
'bower_components/angular/angular.js',
'bower_components/angular-resource/angular-resource.js',
'bower_components/angular-route/angular-route.js',
'bower_components/angular-sanitize/angular-sanitize.js',
'node_modules/angular-mocks/angular-mocks.js',
'bower_components/jquery/dist/jquery.min.js',
'**/*.module.js',
'**/**/*.module.js',
'*!(.module|.spec).js',
'!(bower_components|node_modules)/**/*!(.module|.spec).js',
'**/**/*.spec.js',
'**/*.html'
],
autoWatch: true,
frameworks: ['jasmine'],
browsers: ['Chrome'],
plugins: [
'karma-chrome-launcher',
'karma-jasmine',
'karma-coverage',
'karma-ng-html2js-preprocessor'
],
reporters: ['progress', 'coverage'],
preprocessors: {
'**/*.html': ['ng-html2js'],
'!(bower_components|node_modules)/**/!(*spec).js': ['coverage']
},
coverageReporter: {
type : 'html',
dir : 'coverage/'
}
});
};https://stackoverflow.com/questions/38118570
复制相似问题