ExcludeFromCodeCoverage在VS2012中不起作用

Jas*_*ock 12 mstest code-coverage visual-studio-2012

我的代码中有一个类,我不想出现在代码覆盖率数字中.我将[ExcludeFromCodeCoverage]属性添加到类定义中,如下所示:

[ExcludeFromCodeCoverage]
public class MyClass { ... }
Run Code Online (Sandbox Code Playgroud)

根据文档(http://msdn.microsoft.com/en-us/library/system.diagnostics.codeanalysis.excludefromcodecoverageattribute.aspx),这应该是我所需要的,但该类仍然出现在代码覆盖率分析中.

如果重要的话,我正在使用VS2012/.NET 4.5.

任何想法为什么这不起作用?

Jas*_*ock 36

这是发生了什么,这是我如何解决它.

我使用.runsettings文件来排除某些程序集包含在代码覆盖率中.似乎每当您包含.runsettings文件时,您必须包含以下配置:

<Attributes>
    <Exclude>
        <Attribute>^System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute$</Attribute>
    </Exclude>
</Attributes>
Run Code Online (Sandbox Code Playgroud)

你在.runsettings文件中的内容似乎并不重要 - 这必须在那里[ExcludeFromCodeCoverage]工作.

仅供参考.有关.runsettings文件的更多信息,请参阅此文章:http://msdn.microsoft.com/en-us/library/jj159530.aspx