PowerMock使用
刚刚接触,持续完善中...
1、基础配置:
@RunWith(PowerMockRunner.class)
@PrepareForTest({xxx.class})
public class xxxTest{
@Test
public void testMethod_approve_validParam(){
}
}
2、mock静态方法
步骤:
a、在PrepareForTest中添加要mock的类
b、使用mockStatic mock静态方法所属的类
c、mock静态方法
示例:
@PrepareForTest({xxx.class,yyy.class})
PowerMockito.mockStatic(yyy.class);
PowerMockito.when(yyy.getMethodX()).thenReturn("");
3、mock方法时忽略入参
使用Mockito.any()可实现,如
PowerMockito.when(xxx.createyy(Mockito.any())).thenReturn("");
如果有多个参数,那么就写多个Mockito.any()。但是如果部分写固定值,部分写Mockito.any()会报错,尚不知道如何解决。当前采取的方案是使用Arguments Matcher
4、Arguments Matcher
如下,只有入参为xxx,才会执行后续的.thenReturn
A a= mock(A.class);
when(a.method(Mockito.argThat(new
ArgumentMatcher<String>(){
@Override
public boolean matches(String str) {
if(StringUtils.equals("xxx", s)){
return true;
}
}
}))).thenReturn("");
5、测试私有方法
Method method = PowerMockito.method(A.class, "methodName", int.class,long.class, long.class); method.invoke(new A(), 10, 0, 0);//使用method.invoke的时候第一个参数应该是实例而非类或其他,否则会报object is not an instance of declaring class
PowerMock使用相关推荐
- 单元测试中使用mock最好不要使用easymock而应该使用powermock
视频参考汪文君powermock视频教程相当的经典 转载于:https://www.cnblogs.com/kebibuluan/p/9223054.html
- PowerMock 简介--转载
原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-powermock/ EasyMock 以及 Mockito 都因为可以极大地简化单元测试的书 ...
- 用maven搭建 testNG+PowerMock+Mockito测试框架
转载:http://www.cnblogs.com/changzhz/p/5158068.html 单元测试是开发中必不可少的一部分,是产品代码的重要保证. Junit和testNG是当前最流行的测试 ...
- dubbo应用程序的单元测试环境搭建(springtest,powermock,mockito)
转:http://blog.csdn.net/yys79/article/details/66472797 最近,项目中频繁用到dubbo,而且java工程用引用了几十个关联系统的服务(如用户认证,基 ...
- 单元测试之关于JaCoCo和PowerMock冲突导致类覆盖率为0的问题
在使用Mockito和PowerMock写单测的时候发现,如果使用了PowerMock的@PrepareForTest注解,JaCoCo在统计代码覆盖率的时候就会忽略注解@PrepareForTest ...
- 单元测试之更强大的powermock
前面一篇说到了Mockito的各种功能,可以帮助我们在编写测试用例的时候模拟对象的各种行为,但是Mockito对于一些场景还是无法满足,比方说静态方法,私有方法(不过一般正常的单元测试很少去mock私 ...
- 使用powermock 测试static 方法,jacoco统计覆盖率问题
使用powermock 对private 和static 方法进行mock 测试, public class LogUtil {public static BaseAuditLog getLogBea ...
- Junit 与 powermock 结合执行过程源码阅读
还是根据执行过程powermock 报错的日志分析: java.lang.reflect.InvocationTargetExceptionat sun.reflect.NativeMethodAcc ...
- 单元测试之Mockito与PowerMock
什么是Mock? 在单元测试中,我们往往想去独立地去测一个类中的某个方法,但是这个类可不是独立的,它会去调用一些其它类的方法和service,这也就导致了以下两个问题: 外部服务可能无法在单元测试的环 ...
- java+mock+例子_java – 如何使用PowerMock和Mockito模拟枚举类的实例?
我试着按照这个非常相似的问题的答案提供的例子,但它对我不起作用.我收到以下错误消息: java.lang.IllegalArgumentException: Cannot subclass final ...
最新文章
- iphone4/iphone5/iphone6/iphone6Plus响应式布局适配代码
- r 语言roc_R语言画ROC曲线总结
- 使用百度webuploader插件进行多文件类型分片上传实例
- 【CCF】201609-1 最大波动
- linux利用* vim提权,Linux使用suid vim.basic文件实现提权
- 剑指offerJZ1 二维数组中的查找 C++ python
- 力软敏捷开发平台源码7.0.6
- 中华人民共和国计算机信息网络,中华人民共和国计算机信息网络 国际联网管理暂行规定...
- phpstudy的php fpm,浅谈PHP-FPM参数
- linux授权文件夹777,服务器上如何修改文件夹777权限
- html在ios上不执行js,Javascript onloadedmetadata事件未在iOS设备上触发
- 云原生之K8S------Pod的基础概念
- 我是如何做研发人员内部培训的
- 出现顺丰丢件很好办,做好这几点就可无忧
- android 界面代码,一个漂亮的app界面代码
- 使用Eclipse自带的工具检测和数据库连接时否成功
- 第三章程序的机器级表示 学习报告
- java 向下转型运行时错误_Java向上转型和向下转型
- Unity url编码
- C语言多线程基础入门
热门文章
- 小学生计算机使用计划书,【习惯养成计划表】_小学生好习惯养成计划一览表...
- this project needs to migrate WTP metadata 异常解决办法
- *7.1 (指定等级)编写一个程序,读入学生成绩,获取最高分 best, 然后根据下面的规则赋等级值
- 调用flv.js显示视频报错
- 华为Mate 10系列升级EMUI 9.0智慧系统,带来四重安全保障
- 【C语言程序】将字符串“Where there is a will,there is away.”保存到字符数组中,然后将其翻译成中文“有志者事竟成。”
- 蓝桥杯_嵌入式:蜂鸣器(库函数)
- Itext7表单域处理(文字和图片)及添加水印
- SLAM学习-论文综述(二)
- vue 路由跳转方式