问题
-
如何使用karma-jasmine插件通过Karma更新运行Jasmine时使用的Jasmine版本?
-
只有karma-jasmine插件集成了更新版本的Jasmine才会更新Jasmine,或者我可以将karma-jasmine插件指向更新版本的Jasmine吗?
-
karma-jasmine安装了哪个版本的Jasmine?
背景
我使用Yeoman安装Karma和karma-jasmine如下:
$ npm install -g generator-angular
$ mkdir myapp && cd $_
$ yo angular
鉴于 myapp/bower.json
未将Jasmine列为Bower安装的前端软件包之一,但 myapp/karma.conf.js
列为Jasmine作为默认测试框架,我对命令 grunt test
工作感到惊讶 . ( Gruntfile.js
, bower.json
和 karma.conf.js
文件都是作为 yo angular
脚手架过程的一部分创建的 . )
仔细检查 myapp/node_modules
包后,我意识到karma-jasmine没有指向Jasmine的单独安装 . karma-jasmine插件实际上安装了Jasmine:
▼ myapp/
▼ karma_jasmine/
▼ lib/
adapter.js
index.js
jasmine.js
鉴于karma-jasmine表示它是“Jasmine测试框架的适配器”,我有点惊讶karma-jasmine并不要求我们单独安装Jasmine .
包版本
以下是使用的各种包版本:
-
Karma:"~0.10.8"每
myapp/package.json
内容 -
karma-jasmine:"~0.1.4"每
myapp/package.json
内容 -
Yeoman:"1.0.6"每
npm list -g | grep yo
命令结果 -
Jasmine:未知但基于一些差异,我几乎想知道karma-jasmine是否包含Jasmine的自定义版本以与Karma一起使用 .
2 回答
您可以通过运行以下规范来了解您正在使用的茉莉花版本:
然后检查控制台或浏览器中的业力输出 . 它应该是这样的:
茉莉花库已包含在jasmine-runner插件中,您已经发现了 . 您可以在插件的源代码中找到加载此文件的确切位置:https://github.com/karma-runner/karma-jasmine/blob/master/lib/index.js(第7行)
您可以尝试修改插件,以便可以升级并向业力发送拉取请求(请参阅http://karma-runner.github.io/0.10/dev/contributing.html)
这是一个更好的选择,坚持karma-jasmine中的茉莉花版本并更新整个包 . 您可以使用以下命令获取所有已安装软件包的版本:
要获取已安装的全局包的版本:
要查看CDN上可用的最新版本,请使用:
在更新之前,您可以使用以下命令查看CDN上的所有版本:
要安装特定版本:
(0.2.2是最新的) .