在单元测试中,(__)。
单元测试中,驱动模块用于调用被测模块,桩模块用于模拟被测模块所依赖的子模块。采用自顶向下的测试策略时,测试从系统顶层模块启动,顶层模块可直接驱动下层模块测试,无需额外编写驱动模块,但因顶层模块可能依赖未实现的底层子模块,需编写桩模块模拟这些依赖;采用自底向上的测试策略时,测试从底层模块开始,由于底层模块无上层模块驱动调用,需额外编写驱动模块,而测试过程中无需模拟子模块,因此不需要编写桩模块。
本题考察的是单元测试中驱动模块与桩模块的基本概念及应用方式。
在进行单元测试时,被测模块的上下游依赖可能尚未完成或不可用,因此常常使用驱动模块(Driver)和桩模块(Stub)来模拟这些依赖,以便隔离测试。
A选项驱动模块用来调用被测模块,自顶向下的单元测试中不需要另外编写驱动模块:正确。在自顶向下测试中,测试从系统的顶层模块开始,逐步向下集成。由于测试起点就是顶层模块,其本身可以直接驱动下层模块的测试,因此不需要额外编写驱动模块。
B选项桩模块用来模拟被测模块所调用的子模块,自顶向下的单元测试中不需要另外编写桩模块:不正确。在自顶向下的测试中,顶层模块可能依赖于尚未实现的底层子模块,因此需要编写桩模块来模拟这些子模块,以便完成测试。
C选项驱动模块用来模拟被测模块所调用的子模块,自底向上的单元测试中不需要另外编写驱动模块:不正确。驱动模块不是用来模拟子模块的,而是用于调用被测模块。在自底向上测试中,由于底层模块没有上层模块来驱动调用,因此需要额外编写驱动模块。
D选项桩模块用来调用被测模块,自底向上的单元测试中不需要另外编写桩模块:不正确。桩模块是模拟被测模块调用的下级模块,不是用来调用被测模块的。在自底向上测试中,不需要桩模块,但需要驱动模块。
因此,正确答案是 A。
