Gitlab 的 Regex CI 测试覆盖解析
Regex for Gitlab CI Test coverage parsing
我一直在努力寻找适用于 "CI/CD Pipelines" 页面上的 "Test coverage parsing" 输入的正则表达式。这些示例显示不一致的示例并没有帮助,即一些转义括号和其他不转义括号,与百分比符号相同,一些捕获 </code> 中的显式结果等。无论如何,这是我的文本 - 什么正则表达式?</p>
<p>CI 徽章:</p>
<pre><code>
输出文本:
Unit test coverage:
10.01% blocks
10.01% lines
到目前为止已尝试:(添加斜线只是为了代表前面的 space 或正则表达式)
/ \(\d+\.\d+\%\) blocks/
/ (\d+\.\d+\%) blocks/
/ (\d+\.\d+%) blocks/
/ (\d+\.\d+)% blocks/
这个正则表达式应该覆盖块:
^\s*(\d+(?:\.\d+)?%)\s*blocks
如果你想抓取线路覆盖,那么使用这个:
^\s*(\d+(?:\.\d+)?%)\s*lines
GitLab 会自动添加前导和尾随 /
,因此您无需将它们添加到正则表达式中。
为了将来参考,GitLab 是用 Ruby 编写的,所以你可以在 Ruby 中测试这个正则表达式,在 rubular.com
问题是覆盖率 URL 查询“?job=coverage”不正确。至于正则表达式,我使用了:
\W(\d+(?:\.\d+)%)\sblocks
有一个有用的 Ruby 正则表达式网页。
我的 GitLab 代码覆盖率解析并没有帮助我。我认为这是因为 GitLab 中似乎注册了一个正则表达式问题的错误。
https://gitlab.com/gitlab-org/gitlab-ce/issues/21495
我一直在努力寻找适用于 "CI/CD Pipelines" 页面上的 "Test coverage parsing" 输入的正则表达式。这些示例显示不一致的示例并没有帮助,即一些转义括号和其他不转义括号,与百分比符号相同,一些捕获 </code> 中的显式结果等。无论如何,这是我的文本 - 什么正则表达式?</p>
<p>CI 徽章:</p>
<pre><code>
输出文本:
Unit test coverage:
10.01% blocks
10.01% lines
到目前为止已尝试:(添加斜线只是为了代表前面的 space 或正则表达式)
/ \(\d+\.\d+\%\) blocks/
/ (\d+\.\d+\%) blocks/
/ (\d+\.\d+%) blocks/
/ (\d+\.\d+)% blocks/
这个正则表达式应该覆盖块:
^\s*(\d+(?:\.\d+)?%)\s*blocks
如果你想抓取线路覆盖,那么使用这个:
^\s*(\d+(?:\.\d+)?%)\s*lines
GitLab 会自动添加前导和尾随 /
,因此您无需将它们添加到正则表达式中。
为了将来参考,GitLab 是用 Ruby 编写的,所以你可以在 Ruby 中测试这个正则表达式,在 rubular.com
问题是覆盖率 URL 查询“?job=coverage”不正确。至于正则表达式,我使用了:
\W(\d+(?:\.\d+)%)\sblocks
有一个有用的 Ruby 正则表达式网页。
我的 GitLab 代码覆盖率解析并没有帮助我。我认为这是因为 GitLab 中似乎注册了一个正则表达式问题的错误。 https://gitlab.com/gitlab-org/gitlab-ce/issues/21495