web-dev-qa-db-fra.com

Couverture de code de Jest à stdout à GitLab

Je lance un test de plaisanterie avec une couverture de code dans GitLab CI et GitLab capture le pourcentage de la sortie standard d'un coureur dans gitlab.

jest --coverage Produit la couverture dans stdout et gitlab la capture en utilisant /All files[^|]*\|[^|]*\s+([\d\.]+)/ regexp mais quand j'exécute jest --coverage --json --outputFile=xyz.json Malheureusement, la plaisanterie n'imprime pas la couverture de code sur stdout.

Que puis-je faire pour obtenir une couverture de code dans stdout à partir de jest lorsque des arguments --json Sont donnés à jest?

jest version : v22.4.3 Idem pour jest-cli

12
Dhaval Lila

La configuration suivante permettra à GitLab d'interpréter le rapport de couverture généré par Jest:

stages:
  - test

Unit tests:
  image: node:10.15.0
  stage: test
  script:
    - jest --coverage
  coverage: /All\sfiles.*?\s+(\d+.\d+)/

Il y a un problème ouvert sur GitLab qui contient le regex correct pour les rapports de couverture générés en utilisant Jest (qui est utilisé par Create React App).

11
ndequeker

Je ne connais pas Jest, mais si vous créez un JSON, le moyen le plus simple serait de simplement cat le JSON puis de changer l'expression régulière en conséquence

0
secustor