我有一个小问题。(在单元测试时)-我对一个方法引发异常的类进行单元测试。
结构为:

    public bool DoA()
    {
        ThrowException();
        return true;
    }

    public void DoB()
    {
        ThrowException();
    }

    private static void ThrowException()
    {
        throw new NotSupportedException();
    }


CodeCoverage的结果不是100%-return语句和DoA()的右花括号以及Do()B的右花括号不在codeCoverage下(因为它们未达到)。
我知道,那对单元测试不是很重要,因为我仍在检查功能,但仅对我来说-它可能以及我如何获得完整的CodeCoverage?
也许通过排除?
(可能更改测试代码/程序代码)

最佳答案

您无法达到代码的返回真值部分,因此可以将其删除。在项目中包含无法访问的代码是很糟糕的。或者因为函数DoA()未完成,您可以使用:[ExcludeFromCodeCoverage]

[ExcludeFromCodeCoverage]
public bool DoA()
{
    ThrowException();
    return true;
}

08-19 23:46