测试里的桩是什么东东啊
昨天上课老师讲到一个桩,走了一会神没听明白 所谓桩就是替代被测模块下级函数的假函数。桩的编写很简单,就是return 被替代的函数真正运行时的结果。比如说,我要测一个函数,它需要接受2个下层函数运行后的结果,为了避免那2个下层函数运行出现问题,就编2个假函数,也就是2个桩,这2个桩只提供真函数要传递的结果就行,这就是桩。 桩不需要编写代码,只需要有个正确的返回值就可以了。 简单的说,就是你要测的模块A调用了其它的子模块BCD,为保证你的模块A能跑起来,你需要模拟那些子模块BCD,这些你设计出来的模拟模块B'C'D'就是桩;相对来说,你要测的模块A也可能会被其它模块XYZ调用,那些你设计的模拟XYZ的X'Y'Z'就是驱动.不知道这样讲行不行... 桩就是用来返回一个正确的值,不涉及任何算法的。
回复 3# 的帖子
好像有时候也要写桩的啊,那个不是编码吗?该加油了,小伙。。。。。
该加油了,小伙。。。。。 就比如说:A函数要调用B函数,如果在运行的过程中,B函数的预期返回值是2,为此,可以定义一个与B同名的函数,可以只包含一条值为2的return语句,那么这个函数就是桩。 做单元测试自顶向下的作业,先测试函数A,再测试函数B。此时替代函数C的那个桩,直接return就可以了,走不到C嘛。 上课开什么小差啊~ 桩是根据你的用例来设计的 例如A调用了B,而B调用了C我们要测B则可以把A(已经认定为无缺陷的)当作是B的驱动,我们要做个桩C'来代替C因为C是不确定的,他要是有缺陷就会影响到B的测试,桩的设计就是我A中要输入的用例在B中运行,可是?B的运行是需要C的所以我们把调用C的每一种可能都用return的方式直接由C’来代替。 桩是用来测试上层函数的,桩不涉及算法,只是根据用例决定输出的值,输出的值是绝对干净的。只是给他一个输入,有一个输出。 都是来抢回复量的.嘿嘿.有点意思
页:
[1]