首页 > 解决方案 > Gitlab CI 未显示 Cobertura 代码覆盖率可视化

问题描述

我正在尝试在 Gitlab 中为我们的 monorepo 显示测试覆盖率可视化,如此处所述测试覆盖率可视化

我们正在使用一个自我管理的 gitlab 运行器和托管在 AWS EC2 实例上的 docker+machine 执行器。我们正在使用 Gitlab SaaS。来自 gitlab-ci.yml 的工作如下

sdk:
  stage: test
  needs: []
  artifacts:
    when: always
    reports:
      cobertura: /builds/path/to/cobertura/coverage/cobertura-coverage.xml
  <<: *main
  <<: *tests
  <<: *rules
  <<: *tags

脚本中运行测试并输出代码覆盖率的行...

- npm run test -- --watchAll=false --coverage --coverageReporters=cobertura

工件保存得很好,当我下载它时看起来很正常,但我没有得到任何可视化,如上面链接的文档中所述。我刚刚将 gitlab runner 更新到 V14.0.0 认为这可能是问题所在,但不是。

我没有任何类型的正则表达式模式设置,据我了解,这仅用于将覆盖范围打印到标准输出。

我确定我忽略了一些微不足道的事情,我真的需要在这里进行一次健全性检查,因为我已经花在这上面的时间比我能承受的要多得多。

标签: node.jsjestjsgitlab-cigitlab-ci-runnercobertura

解决方案


问题是需要在存储库设置中设置正则表达式模式。我曾尝试添加一个正则表达式模式,但在我发布这个问题时它还没有工作,因为我使用的正则表达式模式不正确。


推荐阅读