我正在为Angular JS编写一个模块,我想确保它适用于几个版本的Angular。 有没有办法告诉Karma运行具有几个不同依赖关系的测试套件(例如,首先使用Angular 1.2.1进行所有测试,然后使用1.2.2等等)?
答案 0 :(得分:2)
我假设你用Grunt进行测试,所以你可以
1)为不同的角度版本定义你的不同条目
karma: {
ang11: {
configFile: './test/karma-ang1.1.conf.js',
autoWatch: false,
singleRun: true
},
ang12: {
configFile: './test/karma-ang1.2.conf.js',
autoWatch: false,
singleRun: true
}
}
2)在每个文件中,您引用不同的角度版本和测试套装
3)您将任务配置为随后运行您的业力配置文件
答案 1 :(得分:1)
在another question的帮助下,我使用grunt-karma's overrides重用了我的业力配置文件。所以我的library(dplyr)
agg %>%
sample_n(1e7, replace=T) -> bigger
system.time(
with(bigger, { data.frame(lapply(bigger[,1:2], rep, times=lengths(values)), values=unlist(values)) })
)
# user system elapsed
# 3.78 0.14 3.93
system.time(
with(bigger, { data.frame(bigger[rep(rownames(bigger), lengths(values)), 1:2], values=unlist(values)) })
)
# user system elapsed
# 11.30 0.34 11.64
有这个:
Gruntfile.js
请注意meta: {
jsFiles: [
'app/scripts/**/*.js',
'test/spec/**/*.js'
]
},
karma: {
options: {
configFile: 'karma.conf.js',
singleRun: true
},
angular13: {
files: [{
src: [
'test/ref/angular-v1.3.js',
'<%= meta.jsFiles %>'
]}
]
},
angular14: {
files: [{
src: [
'test/ref/angular-v1.4.js',
'<%= meta.jsFiles %>'
]}
]
}
内的src:
。没有它,你会得到一个“不能使用''运算符......'错误,并且与Grunt handles files的方式有关。