1、Mock定义及应用场景
1.1 Mock定义、类型和功能
mock作为一个动词,是模拟、模仿的意思。作为一个名词,mock指的是能够模仿真实对象行为的模拟对象。便捷的模拟对象的方法;
在软件测试中,mock所模拟的对象是什么呢?它一定不是我们所测试的对象(software under test, SUT),而是SUT的依赖(dependency)。也就是说,mock的作用是模拟SUT依赖对象的行为。
如下图所示,被测对象是A,A的依赖是B,B的依赖是C。mock模拟的是B的行为。
mock的两大功能:
1) 记录真实的调用信息
2) 生成模拟的返回信息
1.2 为什么要Mock测试
- 解决不同单元之间由于耦合而难于测试的问题
- 通过模拟依赖以分解单元测试耦合的部分
- 验证所调用的依赖的行为
1.3 Mock对象适用的场景
1.4 Mock和Stub的区别
2、gMock支持的特性
- 轻松创建mock类
- 丰富的匹配器(Matcher)和行为(Action)
- 有序、无序、部分有序的期望行为的定义
- 支持多平台
3、gMock典型应用流程
- 引入用到的gMock名称
- 建立模拟对象--Mock Objects
- 设置模拟对象默认动作
- 在模拟对象上设置预期