有没有办法以junit.xml格式生成Jest / Istanbul覆盖率报告

问题描述 投票:1回答:1

我想使用Gitlab CI在合并请求中跟踪/嵌入覆盖率分析。 gitlab-ci.yml artifacts:reports:junit配置选项似乎适合此任务。但是,这要求coverage输出采用junit.xml格式。

我没有找到输出此格式的覆盖范围的正确设置。我也找不到从lcov / json / clover转换为junit.xml的工具。

junit jestjs gitlab-ci istanbul
1个回答
0
投票

它可以使用jest-junit报告插件完成。 https://github.com/jest-community/jest-junit

yarn add --dev jest-junit

然后在本地执行此操作以查看它是否正常工作

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

你会在root中看到一个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

哦,将coverage /文件夹和junit.xml添加到.gitignore,这样它们就不会添加到git repo中。

这一切似乎也适用于Create React App项目

© www.soinside.com 2019 - 2024. All rights reserved.