![b0aa32e87c2e8cb6b960d68b6c17aff1.png](https://i-blog.csdnimg.cn/blog_migrate/57283bc00106b6b25130c92010c89447.jpeg)
字数:1235,时间:3分钟
![e2269ca743e3e1684585a4be6a6a5afa.png](https://i-blog.csdnimg.cn/blog_migrate/3c8f68c773b1f65ce828c005f33917ab.png)
01
mock的定义
在软件开发中,我们不可避免的要调用一些外部或者系统级别的接口,然而,我们在测试时,也许这些接口或环境并不存在。比如在对我们自己的模块做单元测试时,发现自己的模块依赖的别的模块或接口还没有建立好,如何测试?
Mock概念应运而生,最开始在Java领域,后来各种语言和开发领域均引入该概念。mock 的意思是模拟某个对象的行为。
在软件测试中,mock模拟的对象是什么呢?它一定不是我们所测试的对象(software under test, SUT),而是SUT的依赖。也就是说,mock的作用是模拟SUT依赖对象的行为。
如下图所示,被测对象是A,A的依赖是B,B的依赖是C。mock模拟的是B的行为。