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 .
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 )
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).