随笔分类 - Powermock
摘要:Mock private methods 就是mock私有方法啦,学到这不难发现,我们其实大部分都是通过反射去完成单元测试的,但是在实际中,某个类中的私有方法,个人不建议使用反射来测试,因为有时候会覆盖单元测试中的方法,那么下面我们就来举个例子,来使用mock来模拟私有方法的测试。 模拟场景 假设我
阅读全文
摘要:前言 回顾下之前学过的内容,会发现一点,如果在mock后不写when和thenReturn去指定,即便是mock调用任何方法,什么也不会做,也看不到什么效果。 划重点的时候来了,本身mock出来的对象是假的,再调用它的方法,一直都在“造假”。总结来说,就是一切都是假的,应了光良老师的那首歌,“童话里
阅读全文
摘要:关于Mock Answer 上一篇文章,有介绍过关于Arguments Matche的使用,其实 Answer的作用与其比较类似,但是它比 Arguments Matcher 更加强大。 Arguments Matche 即传入不同的参数,返回不同的结果,重在入参的判断,在入参重写方法去判断 Ans
阅读全文
摘要:前言 本计划在上周六日将powermock学完,并同步到博客中,结果自己没经得住诱惑,又开始去打王者荣耀了。虽然两天时间我从钻石一升到了星耀V四星,但是我并没有觉得很开心,相反很失落呢。不得不说腾讯的游戏做的用户粘度真高,厉害的狠。 言归正传,周一上班后开始收拾心情,接着我每天的学习之路,本应该昨天
阅读全文
摘要:前言 我们在编码的时候,总习惯在构造器中传参数,那么在powermock中是怎么模拟带参数构造的呢,这并不难。 模拟场景 我们先模拟这样一个场景,通过dao中的传入一个是布尔类型(是否加载)和一个枚举类(使用哪种数据库),构造Dao这个类,在编写一个插入学生方法 dao部分的代码 具体示例代码如下:
阅读全文
摘要:Mock Final mockfinal相对来说就比较简单了,使用powermock来测试使用final修饰的method或class,比较简单,接口调用部分,还是service调用dao。 对于接口及场景这里就不细说了,特别简单。 service层 具体代码示例如下: dao层 为了模拟测试,我在
阅读全文
摘要:前言 Verifying是一个非常强大的测试工具,在mock系列框架中使用广泛,主要用于验证方法是否被调用,下面将举例说明。 场景 模拟这样一个场景,通过Dao查询学生,如果存在更新原来学生,不存在则创建一个学生。 1、先来创建dao层的代码,具体示例代码如下: 2、接着我们再来编写,service
阅读全文
摘要:我们编写代码的时候,总会写一些工具类,为了方便调用喜欢使用static关键字来修饰对应方法。 那么现在举例说明,还是准备两个接口,第一个是查询学生总数,第二个是新增学生两个接口,具体示例代码如下: 接着我们再来看看这个静态工具类StudentUtils,具体代码示例如下: 接下来我们用传统方式,来做
阅读全文
摘要:编写powermock用例步骤: 类上面先写这两个注解@RunWith(PowerMockRunner.class)、@PrepareForTest(StudentService.class) 先模拟一个假对象即studentdao方法中的局部变量 用无参的方式new对象 再模拟这个对象被调用时,是
阅读全文
摘要:事件背景 使用PowerMock模拟一个局部变量,添加@RunWith(PowerMockRunner.class)、@PrepareForTest(StudentService.class)注解成功 运行报错如下图: 解决方案: 经过度娘发现,是jar包的原因升级就好了
阅读全文
摘要:前言 在上一篇《PowerMock学习(一)之PoweMock的入门》文章中,已经简单提及一些关于powermock的用法,但是入门还未完,我还要坚持把它学习并坚持更新到博客中。 Mock中的API ps:仅更新这次案例中使用的api说明。 Powermockito.mock():主要是通过clas
阅读全文
摘要:关于powermock 在TDD领域Mock框架有很多,比如EasyMock,JMock,Mockito。可能有些同学会好奇了,为什么要重点把powermock拿出来呢,因为powermock可以解决前面三种框架不能解决的问题,而且powermock也是是单元测试中极其强大的测试框架。 powerm
阅读全文