GitLab 中 Flutter 的代码覆盖率始终未知

Posted

技术标签:

【中文标题】GitLab 中 Flutter 的代码覆盖率始终未知【英文标题】:Code coverage is always unknown with Flutter in GitLab 【发布时间】:2022-01-18 23:47:54 【问题描述】:

我在这个项目中使用了颤振,当我进行测试时,我可以看到覆盖率,但在 gitlab 徽章中我看不到它。

Gitlab badge

这是我的 cicd:

cicd with test job

这是我的 cicd 配置:

Test coverage parsing

这是我的徽章配置

Badge image URL

在测试作业的输出中,结果如下:

Test job output

有人可以帮我解决这个问题吗?

谢谢!

【问题讨论】:

【参考方案1】:

尝试将您的测试覆盖率解析正则表达式更改为lines\.*: (\d+.\d+)%,括号(捕获组)对于知道要选择的数字很重要。

【讨论】:

我做到了,但我得到了相同的结果 尝试在复制/粘贴您的日志文件时针对regex101.com 运行文本。您也可以考虑仅使用:\s*(\d+\.\d+)% 作为简化,看看它是否是该组的其余部分。或lines.*: (\d+\.\d+)%. lines.*: (\d+\.\d+)% 在regex101.com 中工作正常,但我在 gitlab 徽章中看不到测试覆盖率 好的,我正在玩它。确保为您的项目设置启用了 Analytics。您也无法重试作业来测试它,您需要再次运行整个管道以获取正则表达式设置。官方的测试是rubular.com,但是你的正则表达式应该很适合。 我在我的项目中看不到 Google Analytics(分析),但几周前报道徽章工作正常

以上是关于GitLab 中 Flutter 的代码覆盖率始终未知的主要内容,如果未能解决你的问题,请参考以下文章

gitlab增量代码覆盖率

使用 gitlab-ci.yml 文件的代码覆盖率报告

如何在 gitlab.com 上的 PHP 项目的作业列表中启用代码覆盖率输出

Flutter 集成测试和 Gitlab CI/CD

如何使手动作业始终在 GitLab CI 上成功退出?

SonarQube + Maven + JaCoCo + GitLab CI:Sonar 在升级到 SonarQube 7.9.2 后开始显示 0% 的代码覆盖率