tag img attribute javascript jestjs

javascript - img - title html css



Cobertura de código para broma (5)

ACTUALIZACIÓN: 20/7/2018 - Se agregaron enlaces y se actualizó el nombre para la cobertura Informadores.

ACTUALIZACIÓN: 8/14/2017 - Esta respuesta está totalmente desactualizada. Solo mira los documentos de Jest ahora. Tienen soporte oficial y documentación sobre cómo hacer esto.

@hankhsiao tiene un repo bifurcado donde Estambul está trabajando con Jest. Agregue esto a sus dependencias de desarrollo

"devDependencies": { "jest-cli": "git://github.com/hankhsiao/jest.git" }

Asegúrese también de que la cobertura esté habilitada en su entrada de prueba package.json y también puede especificar los formatos que desee. (El html es bastante malo).

"jest": { "collectCoverage": true, "coverageReporters": ["json", "html"], }

Consulte la documentación de Jest para los ["json", "lcov", "text"] de coverageReporters (el valor predeterminado es ["json", "lcov", "text"] )

O añada --coverage cuando invoque jest.

¿Hay alguna forma de tener cobertura de código en el marco de pruebas de Javascript Jest que se construye sobre Jasmine?

El marco interno no imprime la cobertura del código que recibe. También he intentado usar Istanbul , blanket y JSCover , pero ninguno de ellos funciona.


Al usar Jest 21.2.1 , puedo ver la cobertura del código en la línea de comandos y crear un directorio de cobertura al pasar --coverage al script de Jest. A continuación se presentan algunos ejemplos:

Tiendo a instalar Jest localmente, en cuyo caso el comando podría tener este aspecto:

npx jest --coverage

Asumo (aunque no lo he confirmado), que esto también funcionaría si instalo Jest globalmente:

jest --coverage

Los documentos muy escasos están here

Cuando navegué en el directorio de cobertura / lcov-report , encontré un archivo index.html que podía cargarse en un navegador. Incluía la información impresa en la línea de comando, más información adicional y algunos resultados gráficos.


Bien, ignora mi respuesta anterior, ya que alguien me dijo que no resolvía el problema.

Nueva respuesta:

1) Verifique el último jest (v 0.22): https://github.com/facebook/jest

2) El equipo de Facebook coloca a Estambul como parte del informe de cobertura y puede utilizarlo directamente.

3) Después de ejecutar jest, puede obtener un informe de cobertura en la consola y, bajo la carpeta raíz establecida por jest, encontrará el informe de cobertura en formato json y html.

4) Para su información, si instala desde npm, es posible que no obtenga la última versión; así que prueba primero el github y asegúrate de que la cobertura sea lo que necesitas.

Respuesta anterior:

También tiene el mismo problema. La respuesta corta es: Istanbul y Jest NO están trabajando juntos.

Revisa las siguientes páginas para mayores detalles:

https://github.com/facebook/jest/issues/101

jest usa contextify, que ejecuta scripts JS en un contexto V8 en código nativo, por lo tanto, evita todos los ganchos de istanbul require y vm.runInThisContext. Por lo tanto, la cubierta de Estambul no funcionará debido a que las funciones estándar de hookable node.js no se están utilizando y los archivos de instrumentación previa tampoco ayudarán, ya que cada prueba se ejecuta en su propia caja de arena y no hay un elemento global en el que guardar el objeto de cobertura.

@Ciro Costa: el config.collectCoverage NO funciona, ya que es una función ''TODO''. Por favor, compruebe el código fuente.



Tuve el mismo problema y lo arreglé de la siguiente manera.

  1. instalar hilo npm install --save-dev yarn
  2. instalar jest-cli npm install --save-dev jest-cli
  3. agregue esto al package.json "jest-coverage": "yarn run jest -- --coverage"

Después de escribir las pruebas, ejecute el comando npm ejecute jest-cobertura. Esto creará una carpeta de cobertura en el directorio raíz. /coverage/icov-report/index.html tiene la vista html de la cobertura del código.

¡Feliz codificación!