![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单元测试
文章平均质量分 54
半斤米粉闯天下
这个作者很懒,什么都没留下…
展开
-
解决单元测试Mockito模拟方法内new对象的问题
对于正常通过构造或者注入方式依赖的对象,Mockito还是很好解决依赖关系的,但是如果遇到被测方法内出现 new 依赖的对象,就变得麻烦一些了。这里举一个比较特殊的例子,new了一个线程对象,实际上该解决方案针对所有通过 new 得到的对象均适用(如 RestTemplate ):public class A { public String someMethod() { //some c...原创 2019-05-30 19:35:22 · 32239 阅读 · 10 评论 -
Mockito编写Service层单元测试
上一篇记录了针对Controller层的单元测试,这一篇看一下针对Service层的测试,以及踩过的坑。由于业务层代码跟公司实际业务紧密相关,不方便贴代码,如有需要的地方会简短的写几行帮助理解,总的来说有以下几个要点:Mockito框架不支持static以及非public的方法或成员变量的mock,如有需要可使用PowerMockito框架注意大多数工具类也是static的推荐使用Bas...原创 2019-05-28 17:40:28 · 9978 阅读 · 0 评论 -
Mockito编写Controller层单元测试
测试团队要求写单元测试,但是Mockito网上相关的文档不是很多,基本都是入门性质的没有更深层次的使用案例,而且Mockito本身功能也在不断的完善,导致写起来比较费劲,好多地方完全靠猜。摸索之下算是完成了,把踩过的坑记录一下,万一有人需要呢。Controller层的单元测试比较简单,主要思路是mock业务层返回值,然后模拟调用接口,看两个例子就明白了。Controller.java@Re...原创 2019-05-28 15:19:54 · 13447 阅读 · 15 评论 -
Mockito快速上手
关于单元测试与集成测试单元测试:针对代码中最小可测试单元进行测试,通常就是一个方法块。单元测试只关注方法本身的业务逻辑,不关心其余任何与外部交互的方法或接口。集成测试:在单元测试的基础上将所有模块按照系统设计或业务规则组装为子系统或系统。集成测试主要目的是验证各个模块之间能否顺利交互,比如第三方API能否调通。Mockito单元测试的基本流程:模拟并替换测试代码中所有的外部依赖...原创 2019-05-30 20:33:30 · 507 阅读 · 0 评论 -
关于Mockito处理 List (? extends A) 的解决方案
最近在写单元测试的时候遇到一个问题,把解决过程记录下来。业务代码如下:volume.getAttachments().get(0).getServerId()其中getAttachments()方法定义如下:List<? extends VolumeAttachment> getAttachments();VolumeAttachment定义如下:package org...原创 2019-06-05 15:16:13 · 6122 阅读 · 0 评论 -
使用PowerMockito对私有private方法及异常进行测试
注意不是mock私有方法假如对下面的代码进行测试:public class Service { private int getBackupSize(String backupId, String keycloakToken) { //some code...... try { backup = os.blockStorage().backups()...原创 2019-06-10 17:30:59 · 14457 阅读 · 0 评论