【问题标题】:Is it possible to exclude Entity Framework Autogenerated Code from Code Coverage Statistics?是否可以从代码覆盖率统计中排除实体框架自动生成的代码?
【发布时间】:2011-06-05 09:58:37
【问题描述】:

我在资源中看到了[DebuggerNonUserCode][ExcludeFromCodeCoverage] 属性以及other SO questions 关于从覆盖率统计中排除代码的内容,并且想知道是否可以在生成的代码中自动将此属性添加到类中使用 .NET 4.0 的实体框架。

它还需要是类级别还是 diagram.Designer.cs 级别,需要该图表生成的所有代码的一个属性?

【问题讨论】:

标签: unit-testing entity-framework .net-4.0 code-generation code-coverage


【解决方案1】:

由于部分类(实体框架创建)合并属性,如果属性是模板中的类级别,其他部分类中的扩展功能也被排除在外,它必须在方法中应用水平。

我发现做到这一点的最佳方法是使用 T4(如 @Craig Stuntz's answer 中推荐的那样)来:

  • 在文件顶部包含:using System.Diagnostics.CodeAnalysis;

然后通过搜索将[ExcludeFromCodeCoverage] 应用于getter、setter 和Factory 方法:

  • #>get
  • #>set
  • Template_FactoryMethodComment

并将它们放置在适当的位置。

使用Tangible's T4 editor Extension for VS 使这变得容易得多。

这是我的第一次尝试,它似乎有效,“您的里程可能会有所不同”,因此请完成测试运行以确保一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 2016-07-09
    • 1970-01-01
    • 2018-03-04
    • 2012-04-15
    相关资源
    最近更新 更多