「CI/CDパイプライン」ページの「テストカバレッジ解析」入力で機能する正規表現を見つけるのに苦労しています。例が一貫性のない例を示していることは役に立ちません。つまり、一部のエスケープ括弧とそうでないものは、パーセント記号と同じで、$1
などで明示的な結果をキャプチャします。とにかく、ここに私のテキストがあります-何ですか正規表現?
CIバッジ:
![coverage](https://gitlab.com/mycompany/master/badges/master/coverage.svg?job=coverage)
出力テキスト:
Unit test coverage:
10.01% blocks
10.01% lines
これまでに試しました:(単に前面または正規表現のスペースを表すためにスラッシュを追加しました)
/ \(\d+\.\d+\%\) blocks/
/ (\d+\.\d+\%) blocks/
/ (\d+\.\d+%) blocks/
/ (\d+\.\d+)% blocks/
便利なRuby regexWebページがあります。
GitLabコードカバレッジの解析を手伝ってくれませんでした。 GitLabで正規表現の問題にバグが登録されているようです。 https://gitlab.com/gitlab-org/gitlab-ce/issues/21495
問題は、カバレッジURLクエリ「?job = coverage」が正しくないことでした。正規表現に関しては、私は使用しました:
\W(\d+(?:\.\d+)%)\sblocks
この正規表現は、ブロックカバレッジを取得する必要があります。
^\s*(\d+(?:\.\d+)?%)\s*blocks
代わりにラインカバレッジを取得する場合は、次を使用します。
^\s*(\d+(?:\.\d+)?%)\s*lines
GitLabは先頭と末尾の/
を自動的に追加するため、正規表現に追加する必要はありません。
今後の参考のために、GitLabはRubyで記述されているため、この正規表現をRuby over rubular.com でテストできます。