桩模块和驱动模块的概念

 

        假设选择把一个项目分给7个人去完成,每人负责一个模块,你负责的是B模块,非常优秀,提前完成了代码的编写,接下来需要对B模块 进行单元测试。

        先分析结构图:

                1.由于B模块不是顶层模块,所以一定不包含main函数(A模块包含main模块),不能独立运行。

                2.B模块调用了D模块和E模块,而目前D模块和E模块没有开发好,当然也是不能进行编译的。

         怎样才能让B模块通过编译呢?

                1.我们可以使用Sd和Se代替D模块和E模块(函数名、返回值、传递的参数相同),这样B模块就可以通过编译了。此时Sd和Se就是桩模块。

                2.写一个Da用来代替A模块,里面包含main函数,可以在main函数中调用B模块,B模块就能运行起来。此时Da模块就是驱动模块。

        知识点

                桩模块除了使程序能够编译通过外,还需要模拟返回被代替的模块的各种可能返回值(什么时候返回什么样的返回值需要根据测试用例的情况来决定)。

                驱动模块的使命就是根据被测试模块的用例去调用测试模块,并且判断被测试模块的返回值是否与测试用例相同。

        

 

posted @ 2017-03-10 09:02  溪>&筈  阅读(1031)  评论(0编辑  收藏  举报