Actualización de la versión de Jasmine utilizada en karma-jasmine
Preguntas
- ¿Cómo puedo actualizar la versión de Jasmine utilizada al ejecutar Jasmine a través de Karma utilizando el complemento karma-jasmine?
- Se actualizará Jasminesolo cuando el complemento karma-jasmineintegre una versión más reciente de Jasmine, o puedo apuntar el complemento karma-jasminea una versión más reciente de Jasmine?
- ¿Qué versión de Jasmine es instalado por karma-jasmine ?
Antecedentes
He instalado Karma y karma-jasmine usando Yeoman de la siguiente manera:
$ npm install -g generator-angular
$ mkdir myapp && cd $_
$ yo angular
Dado que myapp/bower.json
no lista Jazmín como uno de los Bower instalado front-end de paquetes, pero myapp/karma.conf.js
enumerado Jazmín como el valor predeterminado marco de pruebas, me sorprendió el comando grunt test
trabajado. (El Gruntfile.js
, bower.json
, y karma.conf.js
los archivos fueron creados como parte de la yo angular
proceso de andamiaje.)
Tras una inspección más cercana de los paquetes myapp/node_modules
, me di cuenta de que karma-jasmine no apunta a una instalación separada de Jasmine. El plugin karma-jasmine realmente instala Jasmine:
▼ myapp/
▼ karma_jasmine/
▼ lib/
adapter.js
index.js
jasmine.js
Dado que karma-jasmine dice que es un "adaptador para el marco de pruebas Jasmine, " Me sorprendió un poco que karma-jasmine no nos requiriera instalar Jasmine por separado.
Versiones de paquetes
Aquí están las diversas versiones de paquetes utilizadas:
-
Karma: "~0.10.8" per
myapp/package.json
contents -
karma-jazmín: "~0.1.4" per
myapp/package.json
contents -
Yeoman: "1.0.6" por
npm list -g | grep yo
resultados del comando - Jasmine : Desconocido pero basado en algunos diferenciales, casi me pregunto si karma-jasmine incluye una versión personalizada de Jasmine para trabajar con Karma.
2 answers
Puede conocer la versión de jasmine que está utilizando ejecutando la siguiente especificación:
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()));
});
});
Y luego comprobar la salida de karma en su consola o navegador. Debería ser algo como:
LOG: 'jasmine-version:'
LOG: '2.3.4'
La biblioteca jasmine está incluida en el plugin jasmine-runner como ya has averiguado. Puede encontrar el lugar exacto donde se carga este archivo en el código fuente del plugin: https://github.com/karma-runner/karma-jasmine/blob/master/lib/index.js (línea 7)
Usted puede intentar modificar el plugin para que sea posible una actualización y enviar una solicitud de extracción a karma (ver http://karma-runner.github.io/0.10/dev/contributing.html )
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-17 12:46:45
Es una mejor opción para atenerse a la versión jasmine en karma-jasmine y actualizar todo el paquete. Puede usar el siguiente comando para obtener la versión de todos los paquetes instalados:
npm ls
Para obtener la versión de los paquetes globales instalados:
npm ls -g
Para ver la última versión disponible en CDN, utilice:
npm view karma-jasmine version
Antes de actualizar, puede ver todas las versiones en la CDN usando:
npm view karma-jasmine versions
Para instalar una versión específica:
npm install karma-jasmine@~0.2.2
(0.2.2 es la última disponible).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-13 23:43:11