からdotCoverの総カバレッジ出力を読み取った私はdotCover
をGitLab CIサーバーから実行するように設定しました。 テストが正しく実行され、必要な出力が生成され、CIはGitLab成果物にカバレッジHTML出力を格納するように設定されます。これは完璧に動作します。GitLab CI
私がしようとしているのは、dotCover.exeコンソールランナーから出力されたカバレッジ全体を読み込み、gitlab CIで解析することです。私はdotCover documentationを読んでいましたが、コンソールにカバレッジを含む行を出力する方法が見つかりませんでした。 Gitlab CIはciジョブのsdoutからカバレッジ値を読み取ってカスタム正規表現とマッチさせます。
これは私の3210:
<?xml version="1.0" encoding="utf-8"?>
<AnalyseParams>
<TargetExecutable>C:\NUnit\nunit3-console.exe</TargetExecutable>
<TargetArguments>--agents=1 MyDll.Spec.dll MyDll2.Spec.dll</TargetArguments>
<Output>cover/AppCoverageReport.html</Output>
<ReportType>html</ReportType>
<Scope>
<ScopeEntry>MyApp\bin\x86\Release\net461\MyApp.*.dll</ScopeEntry>
<ScopeEntry>MyApp\bin\x86\Release\net461\*.exe</ScopeEntry>
</Scope>
<Filters>
<ExcludeFilters>
<FilterEntry>
<ModuleMask>*.Spec</ModuleMask>
</FilterEntry>
</ExcludeFilters>
</Filters>
</AnalyseParams>
と私は.gitlab-ci.ymlでそれを実行します。
C:\dotCover\dotCover.exe analyse config.xml /TargetWorkingDir=.
GitLab CIでこの値を表示する方法はありますか?私は明白な何かを欠いていますか
は、私がdotCover
のHTML出力ファイルを読み取り、出力を解析終わっ
私はjacocoと同じ問題がありました。また、カバレッジファイルを含むHTMLファイルを作成しました。このファイルは 'xmllint'(Linuxでは)で解析しました。 xml/htmlに関してregexpを避けることを強くお勧めします。 –
@ YanFotoあなたの入力をありがとう、この特定のHTMLは簡単に解析することができます、総カバレッジはJSセクションの冒頭にあるので、私は非常に単純な正規表現を使いました: '/ = \ [\ ?\ d +/'、しかし私はこの解決策がまったく気に入らない。私はより良い解析ツールを試してみます、 'dotCover'はウィンドウのみです。 – aghidini