将 karma-coverage 添加到 ember 测试
Posted
技术标签:
【中文标题】将 karma-coverage 添加到 ember 测试【英文标题】:Add karma-coverage to ember test 【发布时间】:2015-01-09 10:25:49 【问题描述】:我发现了这个非常棒的 ember 测试样本:
https://github.com/toranb/ember-testing-example
让它运行,但我无法让业力覆盖工作,这是错误:
错误 [coverage]: [TypeError: Cannot set property 'covered' of undefined] TypeError:无法设置未定义的属性“覆盖”
我只更新了 karma.conf.js 文件以及 package.json
package.json
"dependencies":
"bower": "*",
"karma-ember-preprocessor": "*",
"karma-qunit": "*",
"karma": "0.10",
"karma-coverage": "~0.1"
,
"scripts":
"postinstall": "bower install"
karma.conf.js
module.exports = function(karma)
karma.set(
basePath: 'js',
files: [
"vendor/jquery/jquery.min.js",
"vendor/handlebars/handlebars.js",
"vendor/ember/ember.js",
"vendor/jquery-mockjax/jquery.mockjax.js",
"app.js",
"tests/*.js",
"templates/*.handlebars"
],
// coverage reporter generates the coverage
reporters: ['progress', 'coverage'],
//logLevel: karma.LOG_ERROR,
logLevel: karma.LOG_DEBUG,
browsers: ['PhantomJS'],
singleRun: true,
autoWatch: true,
frameworks: ["qunit"],
plugins: [
'karma-qunit',
'karma-coverage',
'karma-chrome-launcher',
'karma-ember-preprocessor',
'karma-phantomjs-launcher'
],
preprocessors:
"**/*.handlebars": ['ember','coverage']
,
// optionally, configure the reporter
coverageReporter:
type : 'html',
dir : 'coverage/'
);
;
请让我知道我缺少什么。我怀疑我没有正确配置它,这条线可能是问题所在。
preprocessors:
"**/*.handlebars": ['ember','coverage']
,
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:preprocessors:
"**/*.handlebars": 'ember',
"**/*.js": 'coverage'
,
以上允许您从 Karma 创建覆盖率报告。
注意:这种配置不适用于最新的 ES6 模块
【讨论】:
以上是关于将 karma-coverage 添加到 ember 测试的主要内容,如果未能解决你的问题,请参考以下文章
将来自 karma-coverage 的 istanbul 测试覆盖率与来自其他来源的覆盖率合并
ClientLibraryFolder 类型的 embed[] 和 dependencies[] 有啥区别?
Karma-Browserify + Karma-Coverage 的问题