只有深刻理解内部输入,才能真正理解单元测试。单元测试是针对代码单元的独立测试,一个函数,在调用了底层函数的情况下(底层函数可能不存在、不可控、不得不隔离、甚至有错误),如何能够独立测试?正是因为底层函数的输出,可以视为被测函数的内部输入,才能真正进行独立测试。
为了理解内部输入,这里用两组功能完全一样代码来进一步解释(差异部分用粗体标出):
代码一:
//计算圆的外接正方形的面积,参数r为圆的半径
int GetArea(int r)
{
return (r+r) * (r+r);
}
//判断指定的正方形是否可以容纳圆
//参数int r:圆的半径
//参数int x:指定正方形的边长
//返回值:不能容纳,返回-1;正好可以容纳,返回0;有多余空间,返回1
int