在Karma测试中使用多个版本的依赖项

时间:2014-05-12 17:21:28

标签: javascript angularjs testing karma-runner

我正在为Angular JS编写一个模块,我想确保它适用于几个版本的Angular。 有没有办法告诉Karma运行具有几个不同依赖关系的测试套件(例如,首先使用Angular 1.2.1进行所有测试,然后使用1.2.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的方式有关。