2

我还没有安装我的 NCover 3 许可证,并且仍在我的构建服务器上运行 1.5.8。我试图排除我不想包含在报告中的完整程序集和特定类,因为它们人为地降低了覆盖率结果。

在 NCoverExplorer 中,我正在使用选项,因为选项选项卡中有一个覆盖排除部分,您可以在其中指定完整的命名空间。我已经进入了完全合格的课程,由于某种原因,只有少数人被排除在外,我不知道为什么。例如,当我将 System.ComponentModel.Composition 添加到列表时,它永远不会被排除在外!

这只是我现在必须忍受的 1.5.8 中的一个错误,因为它是一个测试版并且不再受支持?尽管我确实拥有服务器的新许可证,但我希望能够在我的个人计算机上在家中进行一些报道。

我发现了一篇关于使用 CoverageExcludeAttribute使 NCover 自动跳过标有该属性的类/方法的非常棒的文章。这是最好的选择吗?

4

2 回答 2

1

您是否尝试使用正则表达式来包含/排除程序集 -

//ias AuctionSniper([.\w]*?)(?<!Tests) 包括所有以 AuctionSniper 开头但不以 Tests 结尾的程序集,例如 AuctionSniper.Main.exe 您可以指定用分号分隔的多个模式。
或者//ias .*vendorsupplied.*;.*tests

这适用于 NCover 3 - 如果它适用于免费/社区版,您可以尝试一下。

于 2010-06-29T13:46:43.927 回答
0

一种方法是使用“包含在覆盖范围内的程序集”选项。这让我可以忽略 System.ComponentModel.Composition。但是,排除大多数其他类和命名空间仍然不起作用。当我排除整个类时,它只排除方法,而不排除任何包含的类,这有点奇怪。

于 2010-06-29T16:35:02.517 回答