J'ai installé Karma et karma-jasmine en utilisant Yeoman comme suit:
$ npm install -g generator-angular
$ mkdir myapp && cd $_
$ yo angular
Étant donné que myapp/bower.json
n'a pas répertorié Jasmine comme l'un des packages frontaux Bower installés mais myapp/karma.conf.js
répertorié Jasmine comme framework de test par défaut, j'ai été surpris par la commande grunt test
travaillé. (Le Gruntfile.js
, bower.json
, et karma.conf.js
les fichiers ont tous été créés dans le cadre du yo angular
échafaudage.)
En examinant de plus près le myapp/node_modules
packages, j'ai réalisé que karma-jasmine ne pointe pas vers une installation séparée de Jasmine . Le plugin karma-jasmine installe réellement Jasmine :
▼ myapp/
▼ karma_jasmine/
▼ lib/
adapter.js
index.js
jasmine.js
Étant donné que karma-jasmine indique qu'il s'agit d'un " adaptateur pour le cadre de test Jasmine ", J'ai été un peu surpris que karma-jasmine ne nous oblige pas à installer Jasmine séparément.
Voici les différentes versions de packages utilisées:
myapp/package.json
Contenumyapp/package.json
Contenunpm list -g | grep yo
résultats de la commandeVous pouvez connaître la version de jasmin 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()));
});
});
puis vérifier la sortie du karma dans votre console ou votre navigateur. Cela 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 afin qu'une mise à niveau 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 de s'en tenir à la version jasmine dans karma-jasmine et de mettre à jour l'ensemble du package. Vous pouvez utiliser la commande suivante pour obtenir la version de tous les packages installés:
npm ls
Pour obtenir la version des packages globaux installés:
npm ls -g
Pour afficher la dernière version disponible sur CDN, utilisez:
npm view karma-jasmine version
Avant la mise à jour, vous pouvez afficher toutes les versions sur le 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 dernière version disponible).