2011-12-27 92 views
1

我使用的是Visual Stdio 2010及其测试和代码覆盖功能,并且我有一堆生成的代码,我不想将其包含在代码覆盖率结果中。这些是作为部分类生成的。Visual Studio 2010部分类的代码覆盖

我在几个地方看过(例如:How to ignore generated code from code coverage data)我如何让代码覆盖工具忽略整个类或使用属性的特定成员。因此,我修改了生成器以在其生成的所有类中包含[ExcludeFromCodeCoverage]属性,但是这会阻止我在部分代码中编写的代码被跟踪以进行代码覆盖。

我该如何进行设置,使得我在代码覆盖率结果中包含的代码中手动编写的代码是,但生成的代码是不是?我现在看到的唯一选择是挖掘生成器(一个长而难看的T4模板),并在属性/方法级别而不是在类级别添加[ExcludeFromCodeCoverage]属性。有另一种方法吗?我还没有看到任何像[IncludeFromCodeCoverage]这样的东西,我可以将其添加到少数部分手写的属性/方法中,以包含那些忽略自动生成的类的其余部分。

回答

0

您并不是唯一一个请求此项作为ExcludeFromCodeCoverage和其他How to ignore generated code from code coverage data显示。

我已经看到了这与其他一些做的另一种方式(如ncoverpartcover)覆盖工具是后期处理的结果,即如果XML使用XSLT转换XML删除有关生成泛音,然后覆盖数据生成覆盖率报告。

您可能可以应用此方法或类似的方法,因为您看起来可以访问XML中的覆盖率数据。

OpenCover有一个文件过滤器,它允许您排除文件中与过滤器匹配的所有方法,只是为了生成文件的名称趋向于遵循已知模式而创建的,它还允许使用多个过滤器。

相关问题