在Karma测试中使用多个版本的依赖项
Using multiple versions of dependencies in Karma tests
我正在为Angular JS编写一个模块,我想确保它能在几个版本的Angular上工作。有没有一种方法可以告诉Karma运行带有几个不同依赖的测试套件(例如,首先用Angular 1.2.1进行所有测试,然后用1.2.2等等)?
我假设您使用Grunt运行您的测试,因此您可以
1)为不同的angular版本定义不同的grunt条目
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)你配置一个任务,按顺序运行你的karma配置文件
在另一个问题的帮助下,我使用grunt-karma的重写来重用我的karma配置文件。我的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 %>'
]}
]
}
注意files:
里面的src:
。如果没有它,你会得到一个"不能使用'in'操作符…"的错误,这与Grunt处理文件的方式有关。
相关文章:
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 为什么Airbnb风格指南说不鼓励依赖函数名称推断
- JS编译器/包管理器,用于版本控制
- jQuery-2.1.1.min.js或最新版本jQuery-2.13.min.js不会't支持'@
- Chrome加载旧版本的Javascript文件
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- Node.js中依赖于版本的类型继承
- 最新版本的 npm(和节点)未满足的依赖项
- 更新现有包的依赖项版本
- 使用多个版本号的多个 maven 依赖项
- 是量角器,以任何方式依赖于AngularJS版本
- Require.js是否有用于加载单个依赖项的同步版本
- Ember js版本依赖
- 鲍尔:将最新的依赖版本替换为实际的依赖版本号
- Javascript在单元测试中用模拟版本修补现有的外部依赖模块方法
- 在Karma测试中使用多个版本的依赖项
- 独立的javascript minifier(如packer的单包零依赖版本)
- npm 包括两次具有不同版本的相同依赖项
- 如何根据我的依赖项确定我的节点应用支持的最小/最大节点版本