Mise à jour de la version de Jasmine utilisée dans karma-jasmine

Questions

  • Comment puis-je mettre à jour la version de Jasmine utilisé lors de l'exécution Jasmine via Karma en utilisant le Karma-jasmine plugin?
  • Sera Jasmin que mis à jour chaque fois que le karma-jasmin plugin intègre une nouvelle version du Jasmin , ou Puis-je pointer le karma-jasmine plugin vers une nouvelle version de Jasmine ?
  • quelle version de Jasmine est installée par Karma-jasmine ?

arrière-plan

j'ai installé Karma et karma-jasmin à l'aide Yeoman comme suit:

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

étant donné que myapp/bower.json n'a pas énuméré Jasmine comme l'un des Bower paquets avant installés mais myapp/karma.conf.js listé Jasmine comme le cadre de test par défaut, j'ai été surpris de la commande grunt test travaillé. (Les fichiers Gruntfile.js , bower.json et karma.conf.js ont tous été créés dans le cadre du processus d'échafaudage yo angular .)

en regardant de plus près les paquets myapp/node_modules , j'ai réalisé que karma-jasmine ne pointe pas à une installation séparée de Jasmine . Le karma-jasmin plugin procède à l'installation de Jasmin :

▼ myapp/
  ▼ karma_jasmine/
    ▼ lib/
        adapter.js
        index.js
        jasmine.js

étant donné que Karma-jasmine dit que c'est un " adaptateur pour le Jasmine framework de test," j'ai été un peu surpris de voir que karma-jasmin ne pas nécessiter l'installation de Jasmin séparément.

Les Versions De Package

Voici les différentes versions de paquets utilisées:

  • Karma : "~0.10.8" par myapp/package.json contenu
  • karma-jasmin : "~0.1.4" par myapp/package.json contenu
  • Yeoman : "1.0.6" par npm list -g | grep yo résultats de la commande
  • Jasmin : Inconnue, mais basée sur quelques diffs, je suis presque en se demandant si karma-jasmin inclut une version personnalisée de Jasmin travailler avec Karma .
34
demandé sur Matthew Rankin 2013-12-22 17:58:23

2 réponses

vous pouvez connaître la version jasmine que vous utilisez en exécutant la spécification suivante:

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()));
  });
});

et ensuite vérifier la sortie karma dans votre console ou navigateur. Ça devrait être quelque chose comme:

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

la bibliothèque jasmine est incluse dans le plugin jasmine-runner comme vous l'avez déjà découvert. Vous pouvez trouver l'endroit exact où ce fichier est chargé dans le code source du plugin: https://github.com/karma-runner/karma-jasmine/blob/master/lib/index.js (ligne 7)

vous pouvez essayer de modifier le plugin pour qu'une mise à jour soit possible et envoyer une demande de pull à karma (voir http://karma-runner.github.io/0.10/dev/contributing.html )

29
répondu josketres 2015-07-17 12:46:45

c'est une meilleure option pour s'en tenir à la version jasmine dans karma-jasmine et mettre à jour l'ensemble du paquet. Vous pouvez utiliser la commande suivante pour obtenir la version de tous les paquets installés:

  npm ls

pour obtenir la version des paquets globaux installés:

  npm ls -g

pour voir la dernière version disponible sur CDN, utilisez:

  npm view karma-jasmine version

avant la mise à jour, vous pouvez visualiser toutes les versions au CDN en utilisant:

  npm view karma-jasmine versions

pour installer une version spécifique:

  npm install karma-jasmine@~0.2.2 

(0,2,2 est la plus récente disponible).

12
répondu AliR 2015-04-13 23:43:11