首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GitLab CI&CD测试覆盖范围的研究

GitLab CI&CD测试覆盖范围的研究
EN

Stack Overflow用户
提问于 2022-05-25 16:09:06
回答 1查看 1.1K关注 0票数 1

在GitLab中,将删除设置项目中的15.0测试覆盖率功能。

GitLab提供了在.gitlab-ci.yml中使用coverage关键字解析测试覆盖率。

所有要求均得到满足:

  1. 定义为单引号字符串.
  2. 正则表达式以/字符.

开头和结尾

为什么测试覆盖徽章仍然显示着unknown

代码语言:javascript
复制
test:
  stage: test
  script: gradle check
  coverage: '/Total.*?([0-9]{1,3})%./'
  cache:
    key: "$CI_COMMIT_REF_NAME"
    policy: pull
    paths:
      - build
      - .gradle
  artifacts:
    when: always
    reports:
      junit: build/test-results/test/**/TEST-*.xml
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-26 15:29:38

为了让./gradlew test输出测试覆盖率摘要,我需要将gradle-jacoco-log添加到我的项目中。

代码语言:javascript
复制
plugins {
  id 'org.barfuin.gradle.jacocolog' version '2.0.0'
}

test {
  finalizedBy jacocoTestReport
}

jacocoTestReport {
  dependsOn test
}

这为我提供了以下控制台输出:

代码语言:javascript
复制
> Task :jacocoLogTestCoverage
Test Coverage:
    - Class Coverage: 100%
    - Method Coverage: 83.6%
    - Branch Coverage: 75%
    - Line Coverage: 85.5%
    - Instruction Coverage: 83.1%
    - Complexity Coverage: 82.5%

然后,通过向Instruction Coverage添加以下内容,我可以选择向GitLab报告.gitlab-ci.yml

代码语言:javascript
复制
test:
  stage: test
  script: gradle check
  coverage: '/    - Instruction Coverage: ([0-9.]+)%/'
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72381020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档