はじめに
今回はcoverlet.collector
で生成ファイルなどの特定のファイルをコードカバレッジ収集対象外にする方法を紹介したいと思います。
やり方
以下の2種類の方法があります。
- コマンド引数(
ExcludeByFile
など)を用いる coverlet.runsettings
を用いる
コマンド引数を用いる
# Generatedフォルダに含まれる.csファイルはコードカバレッジ収集対象外に $ dotnet test --collect:"XPlat Code Coverage;ExcludeByFile=**/Generated/**/*.cs;"
ExcludeByFile
によりパス名を指定して対象外に指定しています。それ以外にも指定方法が複数あるので気になる方は公式Docをチェックしてみてください。
coverlet/Documentation/VSTestIntegration.md at master · coverlet-coverage/coverlet · GitHub
Exclude
ExcludeByAttribute
ExcludeByFile
Include
IncludeDirectory
runsettingsを用いる
また直接コマンド引数で渡すのではなく、.runsettings
ファイルを配置してそれを読み込むように設定することもできます。
↓ coverlet.runsettings
<?xml version="1.0" encoding="utf-8" ?> <RunSettings> <DataCollectionRunSettings> <DataCollectors> <DataCollector friendlyName="XPlat code coverage"> <Configuration> <ExcludeByFile>**/Generated/**/*.cs</ExcludeByFile> </Configuration> </DataCollector> </DataCollectors> </DataCollectionRunSettings> </RunSettings>
$ dotnet test --collect:"XPlat Code Coverage" --settings coverlet.runsettings