
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.1 桩对象和测试驱动函数
参考如下代码:

其中,函数function_A()调用function_B(),function_B()又调用function_C()和function_D()。如果被测函数是function_B(),就需要模拟一个函数function_A()来调用function_B(),解决这个问题的方法通常是使用动态自动化单元测试框架。比如采用CUnit,代码如下:

这个被测函数test_process_1()叫作测试驱动函数。又因为函数function_B()调用了function_C()和function_D(),所以要测试函数function_B(),就需要编写两个函数来模拟function_C()和function_D(),代码如下:

其中,这两个函数被称为桩对象(也被称为测试桩),它是测试替身的一种,用于替换真实协作者的对象,在第4.6节会详细介绍。