在实际的工作中,经常碰到只需要mock一个类的一部分方法,这时候可以用spy来实现。 被测类: 如果要测试exist方法,需要mock checkPublicExist和checkPrivateExist方法,而不希望mock exist方法 测试类: 在测试类 ...
前言 回顾下之前学过的内容,会发现一点,如果在mock后不写when和thenReturn去指定,即便是mock调用任何方法,什么也不会做,也看不到什么效果。 划重点的时候来了,本身mock出来的对象是假的,再调用它的方法,一直都在 造假 。总结来说,就是一切都是假的,应了光良老师的那首歌, 童话里都是骗人的 。 模拟场景 service中有一个写数据到文件的方法 service层 具体代码如下: ...
2019-12-04 23:49 0 617 推荐指数:
在实际的工作中,经常碰到只需要mock一个类的一部分方法,这时候可以用spy来实现。 被测类: 如果要测试exist方法,需要mock checkPublicExist和checkPrivateExist方法,而不希望mock exist方法 测试类: 在测试类 ...
我们编写代码的时候,总会写一些工具类,为了方便调用喜欢使用static关键字来修饰对应方法。 那么现在举例说明,还是准备两个接口,第一个是查询学生总数,第二个是新增学生两个接口,具体示例代码如下: 接着我们再来看看这个静态工具类StudentUtils,具体代码示例 ...
关于Mock Answer 上一篇文章,有介绍过关于Arguments Matche的使用,其实 Answer的作用与其比较类似,但是它比 Arguments Matcher 更加强大。 Arguments Matche 即传入不同的参数,返回不同的结果,重在入参的判断,在入参重写 ...
Mock private methods 就是mock私有方法啦,学到这不难发现,我们其实大部分都是通过反射去完成单元测试的,但是在实际中,某个类中的私有方法,个人不建议使用反射来测试,因为有时候会覆盖单元测试中的方法,那么下面我们就来举个例子,来使用mock来模拟私有方法的测试。 模拟场景 ...
前言 本计划在上周六日将powermock学完,并同步到博客中,结果自己没经得住诱惑,又开始去打王者荣耀了。虽然两天时间我从钻石一升到了星耀V四星,但是我并没有觉得很开心,相反很失落呢。不得不说腾讯的游戏做的用户粘度真高,厉害的狠。 言归正传,周一上班后开始收拾心情,接着我每天的学习之路,本应 ...
背景 工作中经常用到单测,某对单测掌握的不好,所以趁此学习、总结一下。 主要参考:https://www.jianshu.com/p/0c2480b1709e、https://www.cnblogs.com/ljw-bim/p/9391770.html 一、不依赖外部方法的单测 1、待测试 ...
相同点 spy和mock生成的对象不受spring管理 不同点 1.默认行为不同 对于未指定mock的方法,spy默认会调用真实的方法,有返回值的返回真实的返回值,而mock默认不执行,有返回值的,默认返回null 2.使用方式不同Spy中用when...thenReturn私有方法总是 ...
编写powermock用例步骤: 类上面先写这两个注解@RunWith(PowerMockRunner.class)、@PrepareForTest(StudentService.class) 先模拟一个假对象即studentdao方法中的局部变量 用无参的方式new对象 再 ...