驱动模块&桩模块

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZWE7616175/article/details/82315708

传统的单元测试包括驱动模块和桩模块,驱动模块就是为了访问类库的属性和方法,来检测类库的功能是否正确。

在实际工作中,一个项目往往会分给不同的人来做,每个人负责一个模块。如果我们负责的是C模块,我们的工作提前完成,需要进行单元测试工作。我们来分析一下:

  1. 由于C模块不是最顶层的模块,所以C模块中不一定包含main函数,A模块中包含main函数,C模块不能单独运行。
  2. C模块调用了F模块和G模块,但是目前这两个模块都没有开发好,那么让C通过编译器的编译时不可能实现的。

那么问题就来了,我们应该如何测试C模块呢?我们可以这样做,也是在平时单元测试的时候通常的做法。

  1. 写两个模块SF和SG分别代表F模块和G模块(要求函数名、返回值、参数相同),C模块就可以通过编译。
  2. 写一个模块DA来代替A模块,其中DA模块中包含main函数,可以在main函数中调用C模块,让C模块运行。

在这个场景下,SF、SG模块就是桩模块,DA模块就是驱动模块。

总结:

桩模块作用是除了使得程序能够通过编译外,需要模拟返回代替的模块的各种可能返回值。

驱动模块作用是根据测试用例的设计去调用被测试模块,并且判断被测试模块的返回值是否与测试用例的预期结果相符。

猜你喜欢

转载自blog.csdn.net/ZWE7616175/article/details/82315708
今日推荐