2

dotCover 的“编辑覆盖过滤器”对话框中的“功能掩码”字段应该包含什么内容?我试过“Foo”和“Foo*”但没有效果。

例子:

public class Foo
{
  public Foo(int x, int y)
  {
     // how can I exclude this code from the code coverage calculation?
  }

  ...
}
4

1 回答 1

2

首先,值得一提的是,dotCover 分析已编译的程序集,而不是源代码,以生成其覆盖率报告。任何 C# 构造函数(无论其在 C# 中的名称如何)都被编译成一个名为的方法.ctor(或者.cctor如果构造函数是静态的)。这就是为什么 dotCover 永远不会看到Foo(int, int)您的示例中调用的方法。

如果要过滤掉Foo类的构造函数,需要在“Edit Coverage Filter”对话框中输入以下内容:

  • 模块掩码:YourNamespace
  • 类掩码:YourNamespaceFoo
  • 功能掩码:.ctor

希望这可以帮助。

于 2012-04-25T17:21:24.930 回答