共同プログラマーが同じ設定を手動で設定する必要がないように、TFS に作成する「除外ファイル」設定 (jetbrains-dotcover 用) を追加しようとしています。
試してみて検索した後、そこに情報が見つからなかったので、私の質問は次のとおりです:これは可能ですか? もしそうなら、どのように?
TFS のコマンド ラインから dotCover を実行していると仮定しています。コマンド ラインからの DotCover の実行に関するドキュメントを参照すると、アセンブリを除外するために呼び出しにパラメーターを追加する必要があります。
/Filters = ARG : (オプション) 次の構文を使用してカバレッジ フィルターを指定します。-:myassembly を使用して、アセンブリをコード カバレッジから除外します。ここではアスタリスクのワイルドカード ( ) がサポートされています
カバレッジ設定用の dotCover xml ファイルがある場合は、その中に除外を入れることができます。xml の編集については、同じドキュメントを参照してください。追加する必要があるビットは次のようになると思います。
<Filters>
<ExcludeFilters>
<FilterEntry>
<ModuleMask>AssemblyToExclude.dll</ModuleMask>
<ModuleMask>*Tests*</ModuleMask> <!--This is an example to exclude all assemblies with Tests in their name-->
</FilterEntry>
</ExcludeFilters>
</Filters>
コマンドラインからの実行を設定する方法に関する一般的な情報がドキュメントに記載されています。
*但し書き: 提案したことは試していません。自分の DotCover/TeamCity TFS の経験から推測しているだけです。情報が多いほど、より正確な回答が得られる場合があります。
更新:
@Thomas コメントに従って dotCover を使用している場合は、dotCover を実行し、[ファイル] => [カバレッジ フィルターの編集] を選択して、マシンのフィルターを編集できます。フィルターを追加すると、カバレッジの実行にも適用されます。ビジュアルスタジオから。たとえば、アセンブリ *Test* 除外フィルターを追加すると、Test in という単語を含むアセンブリがレポートに含まれなくなります。
あなたのチームは、すべてのマシンで同じ除外フィルターを設定する必要があると思います。
Update2:
ソリューションごとのフィルター設定が保存されている場所を見つけました。これらは、sln の隣にある DotSettings ファイルにあります (たとえば、MyProject.sln には MyProject.sln.DotSettings があります)。このファイルに除外を取得するには、ソリューションを開いた状態で Visual Studio で DotCover->Edit Coverage Filters に移動し、現在のソリューションのフィルターを追加する必要があります。
これにより、DotSettings ファイルに次の情報が生成されます。
<s:String x:Key="/Default/FilterSettingsManager/CoverageFilterXml/@EntryValue"><data><IncludeFilters /><ExcludeFilters><Filter ModuleMask="*Maths*" ModuleVersionMask="*" ClassMask="*" FunctionMask="*" IsEnabled="True" /></ExcludeFilters></data></s:String>
DotSettings ファイルを TFS にコミットすると、チームは除外されます。設定の共有に関するドキュメントはこちら、ドキュメントと設定についてはこちらを参照してください。