我正在尝试实现一个正则表达式,在使用Gitlab CI测试覆盖率解析运行
dotnet test
命令后,仅针对分支输出代码覆盖率,但我有点卡住了。
正则表达式对我来说有点困难,我不明白为什么这个命令不能正常工作
^\s*(\d+(?:\.\d+)?%)\s*lines
有人有什么想法吗?预先感谢!
最简单的调试方法是使用类似 https://regexr.com 的服务。
我已将您的正则表达式放入 https://regexr.com/49pjk 中,并附有文本输入示例,您可以看到:
有了这个,你应该能够调试它了。
我无法识别您尝试从默认 dotnet 测试输出中捕获的模式。您可能正在使用一些我不熟悉的测试库。我的默认 dotnet 测试的意思是:
dotnet test /p:CollectCoverage=true
受 GitLab 行覆盖示例模式的启发,我设法通过以下正则表达式从默认的 dotnet 测试调用中捕获分支覆盖率:
Total\s*\|.*?\|\s*(\d+(?:\.\d+)?)