我遇到了一个小问题。(在单元测试中)- 我对一个类进行单元测试,其中的方法会引发异常。 结构是:
public bool DoA()
{
ThrowException();
return true;
}
public void DoB()
{
ThrowException();
}
private static void ThrowException()
{
throw new NotSupportedException();
}
CodeCoverage 的结果不是 100% - DoA() 的返回语句和右大括号以及 Do()B 的右大括号不在 codeCoverage 下(因为它们未达到)。 我知道,这对单元测试来说并不是很重要,因为我仍然检查了功能,但只是为了我 - 它可能以及我如何达到完整的 CodeCoverage? 也许通过排除? (可能更改测试代码/程序代码)
最佳答案
您无法访问代码的 return true 部分,因此可以将其删除。在你的项目中有无法访问的代码是不好的。或者因为函数DoA()没有执行完,可以使用:[ExcludeFromCodeCoverage]
[ExcludeFromCodeCoverage]
public bool DoA()
{
ThrowException();
return true;
}
关于c# - 如何达到完整的 CodeCoverage?通过异常释放 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16439299/