2013-10-25 11 views
7

私が取り組んでいるプロジェクトでコードカバレッジをより正確に反映しようとしていますが、Entity Framework生成クラスに関しては問題が発生しています。私はこれらのクラスのコンストラクタをカバレッジ統計から除外したいので、属性をT4テンプレートに追加しました。これは、クラスを再生成します。 TeamCity 7のdotCoverを使用したExcludeFromCodeCoverage属性

using System.Diagnostics.CodeAnalysis; 

public partial class Address 
{ 
    [ExcludeFromCodeCoverage] 
    public Address() 
    { 
     this.Person = new HashSet<Person>(); 
    } 

    ... 
} 

は、私がテストし、コードカバレッジの統計情報に含まれる必要があるカスタムロジックを含むいくつかの部分クラスがあるとして、メソッドレベルでこれを追加しようとしています。

で(ExcludeFromCodeCoverageExcludeFromCodeCoverageAttributeの両方をしようとして)私はdotCoverを使用しているときExcludeFromCodeCoverageを自動的に除外すべきで読みましたが、私はチームシティー経由で実行するときに、これは本当だったのかはわからないので、Attribute filter syntax for code coverage in TeamCityで述べたように、私は、フィルタを含むものから、運がない。

おかげ

答えて

13

は、私はあなたと同じチームシティーのバージョンを持っています。それは私のためにうまく動作します。設定が正しいかどうかを確認する必要があります。

属性フィルタ:セクションに属性名を指定する必要があります。あなたのケースでは、テキストは次のようになります。

-:System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

マークされたメンバーは、(クラスに対して)を表示すべきではないか、あなたのチームシティーカバレッジレポートは、あなたの中に赤/緑のマーク。

詳しい説明はhere

を見つけることができる私は、同様の問題がありました。私は私の「コード・カバレッジ」ビルドステップを追加することにより、カバレッジから生成されたクラスを除外:

-:assembly=<assembly name>*;type=*<part of generated classname>*;method=*

+0

このコメントは、直接チームシティー&DotCoverとは関係ありませんが、 'DotCover.exe'コマンドラインを使用してそれらのため'ExcludeFromCodeCoverage'属性でマークされたコードを除外するには、次の' dotCover.exe analyze .../AttributeFilters = System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute'を使用する必要があります。 '/ Filters ='パラメータ。 –

関連する問題