我创建了一个名为“CoverageExcludeAttribute”的自定义属性,并将其放在我想从代码覆盖率分析中排除的类之上。但排除不起作用。覆盖率报告显示Test dll的覆盖范围以及所有引用的程序集(包括包含排除属性的类)
<UsingTask TaskName="NCoverExplorer.MSBuildTasks.NCover" AssemblyFile="$(Libraries)\NCoverExplorer.MSBuildTasks.dll"/>
<Target Name="NcoverCoverage">
<NCover ToolPath="C:\Program Files\TestDriven.NET 3\NCover\1.5.8"
CommandLineExe="D:\Xunit\xunit.console.exe"
CommandLineArgs="MyTestDll"
WorkingDirectory="MyWorkingDirectory"
excludeAttributes="CoverageExcludeAttribute"
LogFile="coverage.log"
/>
</Target>
我错过了什么吗?
感谢。
答案 0 :(得分:0)
确保您的属性在全局命名空间中定义,或在excludeAttributes
中提供完整的类型名称。
答案 1 :(得分:0)
如果您使用的是.NET Framework 4.0,则可以使用现有属性
ExcludeFromCodeCoverageAttribute
来自命名空间:
System.Diagnostic.CodeAnalysis
至少在使用NCoverExplorer时,使用NCover 1.5.8时,这对我来说似乎很好。此属性会自动获取。