TeamCityでCIビルドを実行していて、カバレッジレポートを取得してテストdllを除外しようとしています。これが読みやすいようにフォーマットされた私のexecコマンドです。
すべてのチームシティエージェントにdotCover2.0用のxUnitcontribdllをインストールしました
dotCover.exe
cover
/TargetExecutable="Path/To/XUnit/Runner"
/TargetArguments="My/Test/Assembly/Path"
/Output=coverage.dcvr
これは機能し、次のカバレッジレポートを生成します
2番目の図からわかるように、私のWeb.Testsdllはカバレッジレポートに含まれています。テストdllを除外するために次のことを試しました
dotCover.exe
cover
/TargetExecutable="Path/To/XUnit/Runner"
/TargetArguments="My/Test/Assembly/Path"
/Output=coverage.dcvr
/Filters=-:module=MyAssembly.Web.Tests;
/Filters=-:*.Tests
/Filters=-:MyAssembly.Web.Tests
/Filters=-:module=MyAssembly.Web.Tests
これらはログに次のxmlを生成します
<DenyFilters>
<Item>
<AssemblyOrModuleFilter>MyAssembly.Web.Tests</AssemblyOrModuleFilter>
<ClassFilter>*</ClassFilter>
<FunctionFilter>*</FunctionFilter>
</Item>
</DenyFilters>
ただし、これにより、報告されるものはまったく停止します
dotCoverv2.0.425.72を使用しています。
ここでdotcoverとxunitの制限を見つけたかもしれないと思います
関連するQ