有没有一种方法可以生成junit.xml格式的Jest / Istanbul覆盖率报告

时间:2019-03-05 12:13:45

标签: junit jestjs gitlab-ci istanbul

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

我找不到用于以这种格式输出coverage的正确设置。我也找不到能将lcov / json / clover转换为junit.xml的工具。

1 个答案:

答案 0 :(得分:0)

可以通过jest-junit报告程序插件完成。 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

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

这似乎在Create React App项目中也可以正常工作