首页 文章

更新karma-jasmine中使用的Jasmine版本

提问于
浏览
34

问题

背景

我使用Yeoman安装Karmakarma-jasmine如下:

$ npm install -g generator-angular
$ mkdir myapp && cd $_
$ yo angular

鉴于 myapp/bower.json 未将Jasmine列为Bower安装的前端软件包之一,但 myapp/karma.conf.js 列为Jasmine作为默认测试框架,我对命令 grunt test 工作感到惊讶 . ( Gruntfile.jsbower.jsonkarma.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 回答

  • 29

    您可以通过运行以下规范来了解您正在使用的茉莉花版本:

    describe('Test to print out jasmine version', function() {
      it('prints jasmine version', function() {
        console.log('jasmine-version:');
        console.log(jasmine.version || (jasmine.getEnv().versionString && jasmine.getEnv().versionString()));
      });
    });
    

    然后检查控制台或浏览器中的业力输出 . 它应该是这样的:

    LOG: 'jasmine-version:'
    LOG: '2.3.4'
    

    茉莉花库已包含在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

  • 12

    这是一个更好的选择,坚持karma-jasmine中的茉莉花版本并更新整个包 . 您可以使用以下命令获取所有已安装软件包的版本:

    npm ls
    

    要获取已安装的全局包的版本:

    npm ls -g
    

    要查看CDN上可用的最新版本,请使用:

    npm view karma-jasmine version
    

    在更新之前,您可以使用以下命令查看CDN上的所有版本:

    npm view karma-jasmine versions
    

    要安装特定版本:

    npm install karma-jasmine@~0.2.2
    

    (0.2.2是最新的) .

相关问题