决定更高级别方法的单位测试代码覆盖范围



当我有以下方法时,

double Process(double payable)
{
    var step1Result = Step1(payable);
    var step2Result = Step2(step1Result);
    return Step3(step2Result);
}

当我已经对内部三个公共方法进行单元测试时,是否需要进行process()单元测试?如果不需要答案,那么这是否意味着必须通过手动代码审查来维护process()方法?

如果过程是公开的,则是,您将需要单元测试进行处理。如果某人正在修复错误而忘记致电STEP2,则过程将不再起作用。如果您有书面代码,则必须对其进行测试。

如果它不是公开的,那么只要通过其他一些方法介绍它,例如另一种公共方法,那么您应该没问题。基本上,如果使用了过程方法,并且您放置了一个断点并运行所有测试,并且不会达到断点,则意味着它没有覆盖和测试。当然,您可以使用Visual Studio的测试覆盖范围来指示是否涵盖了它而不是使用断点。

最新更新