test - karma jasmine tutorial
Actualizando la versión de Jasmine usada en karma-jazmín (2)
Preguntas
- ¿Cómo puedo actualizar la versión de Jasmine utilizada al ejecutar Jasmine través de Karma usando el plugin karma-jasmine ?
- ¿Se actualizará Jasmine solo cuando el plugin karma-jasmine integre una versión más nueva de Jasmine , o puedo apuntar el plugin karma-jasmine a una versión más nueva de Jasmine ?
- ¿Qué versión de Jasmine está instalada por karma-jasmine ?
Fondo
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 myapp/bower.json
Jasmine como uno de los paquetes frontales de Bower instalados, pero myapp/karma.conf.js
enumeró a Jasmine como el marco de prueba predeterminado, me sorprendió que la grunt test
del comando grunt test
funcionara. (Los Gruntfile.js
, bower.json
y karma.conf.js
se crearon todos como parte del proceso de andamiaje yo angular
).
Tras una inspección más cercana de los paquetes myapp/node_modules
, me di cuenta de que el 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 prueba de Jasmine ", me sorprendió un poco que karma-jasmine no requiriera que instalaramos Jasmine separado.
Versiones de paquete
Aquí están las diversas versiones de paquete utilizadas:
- Karma : "~ 0.10.8" por contenido de
myapp/package.json
- karma-jasmine : "~ 0.1.4" por contenido de
myapp/package.json
- Yeoman : "1.0.6" por
npm list -g | grep yo
resultados del comandonpm list -g | grep yo
- Jasmine : Desconocida pero basada en algunos diffs, casi me pregunto si karma-jasmine incluye una versión personalizada de Jasmine para trabajar con Karma .
Es una mejor opción quedarse con la versión de jazmín en karma-jazmín 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, use:
npm view karma-jasmine version
Antes de actualizar, puede ver todas las versiones en el 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 el último disponible).
Puede conocer la versión de jazmín 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 verificando el resultado del karma en su consola o navegador. Debería ser algo así como:
LOG: ''jasmine-version:''
LOG: ''2.3.4''
La biblioteca de jazmín está incluida en el plugin jasmine-runner como ya has descubierto. Puede encontrar el lugar exacto donde se carga este archivo en el código fuente del complemento: https://github.com/karma-runner/karma-jasmine/blob/master/lib/index.js (línea 7)
Puede intentar modificar el complemento para que sea posible una actualización y enviar una solicitud de extracción al karma (consulte http://karma-runner.github.io/0.10/dev/contributing.html )