在使用 Visual Studio 2010 查看代码覆盖率数据时,我在给定命名空间下看到以下输出:
SomeClass1
SomeClass2
SomeClass2.< >c__DisplayClass1
SomeClass2.< >c__DisplayClass19
SomeClass2.< >c__DisplayClass28
SomeClass3
SomeClass3.< >c__DisplayClass2F
etc
如果我展开其中包含“DisplayClass”的任何条目,我会看到它是一个包含 lambda 表达式的方法。由于 lambda 表达式太多,很难从代码覆盖率结果中获得有意义的数据。
有没有办法清理这份报告?
最佳答案
从 lambda 表达式生成的函数是您编写的代码的直接结果。由于编译器的扩展,他们可能会在报告中返回具有欺骗性的大量行,但是您想要测试他们的行为是否正确。因此,它们应该包含在覆盖率报告中。
我也同意以下评论:不应将代码覆盖率视为精确衡量标准。我认为它有一位有效数字。
说了这么多……我认为你最大的希望是 ExcludeFromCodeCoverage属性。它相当灵活,但通常应用于声明。我不清楚如何将它应用于 lambda。
关于c# - 为代码覆盖关闭 Visual Studio 2010 中的 Lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7879450/