Actualización de la versión de Jasmine utilizada en karma-jasmine


Preguntas

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.
Author: Matthew Rankin, 2013-12-22

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 )

 29
Author: josketres,
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).

 12
Author: AliR,
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