Gitlab 测试覆盖率仅解析分支

问题描述 投票:0回答:2

我正在尝试实现一个正则表达式,在使用Gitlab CI测试覆盖率解析运行

dotnet test
命令后,仅针对分支输出代码覆盖率,但我有点卡住了。

正则表达式对我来说有点困难,我不明白为什么这个命令不能正常工作

^\s*(\d+(?:\.\d+)?%)\s*lines

有人有什么想法吗?预先感谢!

regex gitlab code-coverage gitlab-ci
2个回答
1
投票

最简单的调试方法是使用类似 https://regexr.com 的服务。

我已将您的正则表达式放入 https://regexr.com/49pjk 中,并附有文本输入示例,您可以看到:

  • 您的正则表达式匹配或不匹配的内容
  • 你的正则表达式是如何构造的

有了这个,你应该能够调试它了。


0
投票

我无法识别您尝试从默认 dotnet 测试输出中捕获的模式。您可能正在使用一些我不熟悉的测试库。我的默认 dotnet 测试的意思是:

dotnet test /p:CollectCoverage=true

受 GitLab 行覆盖示例模式的启发,我设法通过以下正则表达式从默认的 dotnet 测试调用中捕获分支覆盖率:

Total\s*\|.*?\|\s*(\d+(?:\.\d+)?)
© www.soinside.com 2019 - 2024. All rights reserved.