¿Hay alguna manera de tener cobertura de código en el marco de prueba Javascript Jest que se basa en Jasmine?
El marco interno no imprime la cobertura del código que obtiene. También intenté usar Istanbul , blanket y JSCover , pero ninguno de ellos funciona.
javascript
jestjs
Alex Palcuie
fuente
fuente
Respuestas:
Cuando uso Jest 21.2.1 , puedo ver la cobertura del código en la línea de comando y crear un directorio de cobertura pasando
--coverage
al script Jest. A continuación hay algunos ejemplos:Tiendo a instalar Jest localmente, en cuyo caso el comando podría verse así:
npx jest --coverage
Asumo (aunque no lo he confirmado), que esto también funcionaría si instalara Jest a nivel mundial:
jest --coverage
Los documentos muy escasos están aquí
Cuando navegué por el directorio de cobertura / lcov-report encontré un archivo index.html que se podía cargar 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.
fuente
node_modules
via./node_modules/.bin/jest --coverage
. Siempre que el paquete se nombre en package.json, puede garantizar la ejecución con la versión exacta de broma que espera.ACTUALIZACIÓN: 20/07/2018 - Se agregaron enlaces y se actualizó el nombre de los Reporteros de cobertura.
ACTUALIZACIÓN: 14/08/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 repositorio bifurcado donde Estambul está trabajando con Jest. Agregue esto a sus dependencias de desarrollo
También asegúrese de que la cobertura esté habilitada en su entrada package.json jest y también puede especificar los formatos que desee. (El html es muy malo).
Consulte la documentación de Jest para ver los informes de cobertura (el valor predeterminado es
["json", "lcov", "text"]
)O agregue
--coverage
cuando invoque broma.fuente
coverageReporters
y el valor predeterminado es["json", "lcov", "text"]
. Ver facebook.github.io/jest/docs/…Ene 2019: Jest versión 23.6
Para cualquiera que esté investigando esta pregunta recientemente, especialmente si realiza pruebas usando
npm
oyarn
directamenteActualmente, no tiene que cambiar las opciones de configuración
Según el sitio web oficial de jest , puede hacer lo siguiente para generar informes de cobertura:
1- Para npm:
Debe poner
--
antes de pasar el--coverage
argumento de bromasi intentas invocar
--coverage
directamente sin el--
no funcionará2- Para hilo:
Puedes pasar el
--coverage
argumento de broma directamentefuente
--watch
configuración para esto.package.json
.Muy bien, ignore mi respuesta anterior ya que alguien me dijo que no resolvió el problema.
Nueva respuesta:
1) Verifique la última broma (v 0.22): https://github.com/facebook/jest
2) El equipo de Facebook coloca a Estambul como parte del informe de cobertura y puede usarlo directamente.
3) Después de ejecutar jest, puede obtener un informe de cobertura en la consola y, en 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; prueba el github primero y asegúrate de que la cobertura es lo que necesitas.
Vieja respuesta:
Tengo el mismo problema también. La respuesta corta es:
Istanbul
yJest
NO están trabajando juntos.Consulte las siguientes páginas para obtener más detalles:
https://github.com/facebook/jest/issues/101
@Ciro Costa:
config.collectCoverage
NO funciona, ya que es una función 'TODO'. Por favor verifique el código fuente.fuente
Si tiene problemas con: la cobertura no funciona, también puede deberse a que los Reporteros de cobertura estén habilitados sin que se agregue 'texto' o 'resumen de texto'. De los documentos: "Nota: la configuración de esta opción sobrescribe los valores predeterminados. Agregue" texto "o" resumen de texto "para ver un resumen de cobertura en la salida de la consola". Fuente
fuente
Configure su archivo package.json
Ahora ejecuta:
Toda la prueba comenzará a ejecutarse y obtendrá el informe.
fuente
Tuve el mismo problema y lo arreglé como se muestra a continuación.
npm install --save-dev yarn
npm install --save-dev jest-cli
"jest-coverage": "yarn run jest -- --coverage"
Después de escribir las pruebas ejecute el comando npm run jest-coverage 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!
fuente
Prueba Chutzpah . Lo acabo de usar. Y escribí en un blog sobre cómo integrar en Visual Studio.
Así es como codifiqué la cobertura con Chutzpah: http://francorobles.wordpress.com/2014/09/14/code-coverage-with-chutzpah/
fuente
require
.