网站会员和discuz会员同步,做网站鼎盛,企业官网型网站模板下载,wordpress登录wp-admin目录
一、基本概念
1、Mock
2、插桩#xff08;Sutbbing#xff09;
二、参考文章 一、基本概念
1、Mock
Mock的作用就是不直接new对象#xff0c;而是使用Mock方法或者注解Mock一个对象。
这个对象他不是new创建的对象#xff0c;Mock对该对象的一些成员变量和方法…目录
一、基本概念
1、Mock
2、插桩Sutbbing
二、参考文章 一、基本概念
1、Mock
Mock的作用就是不直接new对象而是使用Mock方法或者注解Mock一个对象。
这个对象他不是new创建的对象Mock对该对象的一些成员变量和方法等等进行了注入可以配合插桩直接调用其他方法而不用管对象内部是如何赋值、如何初始化等等问题。 比如TpBaseService类它有一个getService方法作用是获取服务。在我的单元测试中我需要使用TpBaseService类的对象去调用getService方法。 ①常规做法 常规的单元测试是通过New一个TpBaseService类的对象这里假设为tpBaseService去调用getService方法。 ②Mock做法 但假如getService方法需要一些私有的成员变量输入比如一个context参数这个参数是TpBaseService类的私有成员变量当我使用常规单元测试去New对象时我需要考虑到这个context私有成员变量的值。但如果我使用Mock对象就可以省略去这一步骤。 2、插桩Sutbbing
插桩就是在Mock的前提下对某个方法进行黑盒控制。
也就是说我给出输入和输出在Mock的前提下对某个方法使用插桩后不需要考虑这个方法内部是怎么实现的直接给出输入就返回我需要的输出就像一个黑盒一样。甚至可以实现抛出异常我想抛就抛想正常输出就输出
从直观感受来说插桩就是像是直接跳过了一条“无法执行”的语句这条语句通常是调用了外系统接口或者是使用了数据库方法
二、参考文章
Mock和插桩的基本使用有很多例子
【码农教程】手把手教你Mockito的使用_mockito教程-CSDN博客
给出了插桩的基本语句例子更直观
单元测试框架——Mockito之stubbing语法_单元测试stubbing-CSDN博客
若有读者需要更加详细的解释可以后面再出一篇详细文章说明Mock和插桩的语法和使用等等
另外以上提到的Mockito接口一般是针对public方法和protected方法 PowerMockito可以对私有方法、静态方法甚至是构造器进行Mock有兴趣可以自己去了解