当我有以下方法时,
double Process(double payable)
{
var step1Result = Step1(payable);
var step2Result = Step2(step1Result);
return Step3(step2Result);
}
当我已经对内部三个公共方法进行单元测试时,是否需要进行process()单元测试?如果不需要答案,那么这是否意味着必须通过手动代码审查来维护process()方法?
如果过程是公开的,则是,您将需要单元测试进行处理。如果某人正在修复错误而忘记致电STEP2,则过程将不再起作用。如果您有书面代码,则必须对其进行测试。
如果它不是公开的,那么只要通过其他一些方法介绍它,例如另一种公共方法,那么您应该没问题。基本上,如果使用了过程方法,并且您放置了一个断点并运行所有测试,并且不会达到断点,则意味着它没有覆盖和测试。当然,您可以使用Visual Studio的测试覆盖范围来指示是否涵盖了它而不是使用断点。