我有几个单元测试助手扩展方法,例如我也写过单元测试的IsNotEmpty(this string str)
。这些测试的基本结构是我有一个测试,用于验证扩展方法是否通过并在“好”输入上返回预期结果,并验证是否在“坏”输入上引发了失败异常。例如,对于上述方法的测试失败可能是这样的:针对故意失败测试的NCover代码覆盖率结果
[TestMethod, Fails]
public void IsNotEmpty_Fails_On_Empty_String()
{
"".IsNotEmpty();
}
其中Fails
是我写我自己的属性 - 基本上为[ExpectedException(typeof(AssertFailedException))]
的代理。所以我明确预计上述测试中唯一的一个例外,因此,我是而不是期望该方法一直运行。
但是当我右键点击我的解决方案时,选择“Test with-> NCover”,在上述所有方法中,我得到的代码覆盖率小于100%,末尾大括号突出显示为红色。
为什么NCover抱怨我的测试方法没有完成,当我说它不会?
**)对于所有那些会回复100%代码覆盖率没有必要的人:不,我并不特别担心无论如何都要维护100%的代码覆盖率。但是,在这些情况下,* do 问题的方法显示为不在列表中,并且我必须一直进入树中才能看到它只是它们。这就是我试图在这里得到的问题 - 一般不是100%的代码覆盖率。
好搭档!更改构建迁移到发布修复它=) – 2010-07-23 06:22:28
我遇到了与dotCover相同的问题。 – heymega 2016-03-24 14:53:27