Есть ли способ создать отчет о покрытии Jest / Istanbul в формате junit.xml? - PullRequest
1 голос
/ 05 марта 2019

Я бы хотел использовать Gitlab CI для отслеживания / включения анализа покрытия в запросы на слияние. Параметр конфигурации gitlab-ci.yml artifacts:reports:junit кажется подходящим для этой задачи. Однако для этого требуется покрытие вывод в формате junit.xml.

Я не нашел правильной настройки для вывода покрытия в этом формате. Также я не могу найти инструмент для преобразования из lcov / json / clover в junit.xml.

1 Ответ

0 голосов
/ 29 марта 2019

Это можно сделать с помощью плагина jest-junit reporter. https://github.com/jest-community/jest-junit

yarn add --dev jest-junit

Затем выполните это локально, чтобы увидеть, работает ли оно

yarn test --colors --coverage --reporters=default --reporters=jest-junit

И вы увидите файл junit.xml в корне.

Сконфигурируйте ваш .gitlab-ci.yml следующим образом, чтобы затем увидеть вывод в Gitlab:

test:
  stage: test
  coverage: /All files[^|]*\|[^|]*\s+([\d\.]+)/
  artifacts:
    reports:
      junit: junit.xml
  script:
    - yarn test --colors --coverage --reporters=default --reporters=jest-junit

Да, и добавьте покрытие / папку и файл junit.xml в .gitignore, чтобы они не добавлялись в репозиторий git.

Похоже, что все это работает нормально и в проекте Create React App

...