14

コード カバレッジ番号に表示したくないクラスがコードに含まれています。[ExcludeFromCodeCoverage]次のようにクラス定義に属性を追加しました。

[ExcludeFromCodeCoverage]
public class MyClass { ... }

ドキュメント ( http://msdn.microsoft.com/en-us/library/system.diagnostics.codeanalysis.excludefromcodecoverageattribute.aspx )によると、これで十分ですが、クラスはコード カバレッジ分析に表示されます。

問題がある場合は、VS2012/.NET 4.5 を使用しています。

これがうまくいかない理由はありますか?

4

2 に答える 2

40

これが何が起こっていたのか、そしてこれが私がそれを修正した方法です。

.runsettings ファイルを使用して、特定のアセンブリがコード カバレッジに含まれないようにしていました。.runsettings ファイルを含めるときは常に、次の構成を含める必要があるようです。

<Attributes>
    <Exclude>
        <Attribute>^System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute$</Attribute>
    </Exclude>
</Attributes>

.runsettings ファイルに何を持っているかは問題ではないようです。これは、機能するためにそこにある必要があり[ExcludeFromCodeCoverage]ます。

参考までに、.runsettings ファイルの詳細については、この記事を参照してください: http://msdn.microsoft.com/en-us/library/jj159530.aspx

于 2013-03-12T17:16:57.850 に答える