2012-03-05 16 views
6

Un poco nuevo en la codificación Javascript, así que por favor tengan paciencia conmigo.Ejecutando JSCoverage con Jasmine

leí a través del siguiente enlace jasmine with jscoverage automated testing

Sin embargo, puesto que no tengo un proyecto Ruby, no parecía ser lo que quería.

Estos son los pasos que ejecutadas:

  1. copiar mi archivo js para ser probado en un directorio 'entrada'
  2. Ejecutar el siguiente comando 'jscoverage de entrada y salida'
  3. copiar mi especificación y src carpetas para Jasmine, así como SpecRunner.html en 'salida'
  4. Copia el archivo de origen instrumentado en src
  5. jscoverage.html abierto en Chrome
  6. Abra SpecRunner.html en la pestaña 'Explorador'

En este punto, la página del navegador muestra mis pruebas de Jasmine. Sin embargo, la página 'Resumen' muestra 0 archivos probados y la pestaña 'Fuente' aparece atenuada.

Sé que metí la pata en algún lado, pero no estoy seguro de dónde. Por favor, ayúdame. ¡Gracias!

Respuesta

5

Los pasos correctos a seguir son los siguientes:

  • Copiar los archivos de jazmín (SPEC y carpetas src para Jasmine, así como SpecRunner.html) a un directorio 'de entrada'
  • Ejecutar el siguiente comando 'de salida jscoverage de entrada' jscoverage.html
  • abierto en Firefox (Chrome no mostrará los archivos individuales que se probaron)
  • abierto SpecRunner.html en el 'navegador' pestaña

Este enfoque tiene el inconveniente de que aparecen todos los archivos, incluidos js relacionados con js. Pero puede seleccionar su archivo js que está siendo probado y solo mirar la cobertura del código para ello.

3

El enfoque de jscoverage estándar es instrumentar toda la base de código sobre la que desea obtener cobertura, luego ejecutar un conjunto de pruebas y generar un informe. Este enfoque es un poco pesado ya que una base de código solo necesita un informe de cobertura en una frecuencia establecida. A diferencia de las pruebas de CI, ¿con qué frecuencia el desarrollador realmente necesita saber el cambio porcentual de cobertura, semanalmente?

El proyecto node.js jscoverage utiliza el mismo enfoque de "instrumentación" que el proyecto jscoverage más grande, pero puede ejecutarse desde la CLI del nodo en un archivo individual o desde el código en uno o más archivos, como se les llama de las pruebas mismas. En lugar de un paso separado para 'instrumentar' un lote de archivos, jscoverage (nombre confuso), 'instrumentos' en el tiempo de ejecución de la prueba.

He estado trabajando para lograr un patrón que permita las pruebas y pruebas de jazmín en un navegador o en la CLI utilizando la configuración del mismo código fuente y la configuración de prueba. Aún beta. La 'instrumentación' justo a tiempo de jazmín aún no está lista.

https://github.com/d1b1/jasmine-jscoverage

+0

Gracias por la respuesta. Voy a tratar de salir. –