刚刚接触,持续完善中...

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使用相关推荐

  1. 单元测试中使用mock最好不要使用easymock而应该使用powermock

    视频参考汪文君powermock视频教程相当的经典 转载于:https://www.cnblogs.com/kebibuluan/p/9223054.html

  2. PowerMock 简介--转载

    原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-powermock/ EasyMock 以及 Mockito 都因为可以极大地简化单元测试的书 ...

  3. 用maven搭建 testNG+PowerMock+Mockito测试框架

    转载:http://www.cnblogs.com/changzhz/p/5158068.html 单元测试是开发中必不可少的一部分,是产品代码的重要保证. Junit和testNG是当前最流行的测试 ...

  4. dubbo应用程序的单元测试环境搭建(springtest,powermock,mockito)

    转:http://blog.csdn.net/yys79/article/details/66472797 最近,项目中频繁用到dubbo,而且java工程用引用了几十个关联系统的服务(如用户认证,基 ...

  5. 单元测试之关于JaCoCo和PowerMock冲突导致类覆盖率为0的问题

    在使用Mockito和PowerMock写单测的时候发现,如果使用了PowerMock的@PrepareForTest注解,JaCoCo在统计代码覆盖率的时候就会忽略注解@PrepareForTest ...

  6. 单元测试之更强大的powermock

    前面一篇说到了Mockito的各种功能,可以帮助我们在编写测试用例的时候模拟对象的各种行为,但是Mockito对于一些场景还是无法满足,比方说静态方法,私有方法(不过一般正常的单元测试很少去mock私 ...

  7. 使用powermock 测试static 方法,jacoco统计覆盖率问题

    使用powermock 对private 和static 方法进行mock 测试, public class LogUtil {public static BaseAuditLog getLogBea ...

  8. Junit 与 powermock 结合执行过程源码阅读

    还是根据执行过程powermock 报错的日志分析: java.lang.reflect.InvocationTargetExceptionat sun.reflect.NativeMethodAcc ...

  9. 单元测试之Mockito与PowerMock

    什么是Mock? 在单元测试中,我们往往想去独立地去测一个类中的某个方法,但是这个类可不是独立的,它会去调用一些其它类的方法和service,这也就导致了以下两个问题: 外部服务可能无法在单元测试的环 ...

  10. java+mock+例子_java – 如何使用PowerMock和Mockito模拟枚举类的实例?

    我试着按照这个非常相似的问题的答案提供的例子,但它对我不起作用.我收到以下错误消息: java.lang.IllegalArgumentException: Cannot subclass final ...

最新文章

  1. iphone4/iphone5/iphone6/iphone6Plus响应式布局适配代码
  2. r 语言roc_R语言画ROC曲线总结
  3. 使用百度webuploader插件进行多文件类型分片上传实例
  4. 【CCF】201609-1 最大波动
  5. linux利用* vim提权,Linux使用suid vim.basic文件实现提权
  6. 剑指offerJZ1 二维数组中的查找 C++ python
  7. 力软敏捷开发平台源码7.0.6
  8. 中华人民共和国计算机信息网络,中华人民共和国计算机信息网络 国际联网管理暂行规定...
  9. phpstudy的php fpm,浅谈PHP-FPM参数
  10. linux授权文件夹777,服务器上如何修改文件夹777权限
  11. html在ios上不执行js,Javascript onloadedmetadata事件未在iOS设备上触发
  12. 云原生之K8S------Pod的基础概念
  13. 我是如何做研发人员内部培训的
  14. 出现顺丰丢件很好办,做好这几点就可无忧
  15. android 界面代码,一个漂亮的app界面代码
  16. 使用Eclipse自带的工具检测和数据库连接时否成功
  17. 第三章程序的机器级表示 学习报告
  18. java 向下转型运行时错误_Java向上转型和向下转型
  19. Unity url编码
  20. C语言多线程基础入门

热门文章

  1. 小学生计算机使用计划书,【习惯养成计划表】_小学生好习惯养成计划一览表...
  2. this project needs to migrate WTP metadata 异常解决办法
  3. *7.1 (指定等级)编写一个程序,读入学生成绩,获取最高分 best, 然后根据下面的规则赋等级值
  4. 调用flv.js显示视频报错
  5. 华为Mate 10系列升级EMUI 9.0智慧系统,带来四重安全保障
  6. 【C语言程序】将字符串“Where there is a will,there is away.”保存到字符数组中,然后将其翻译成中文“有志者事竟成。”
  7. 蓝桥杯_嵌入式:蜂鸣器(库函数)
  8. Itext7表单域处理(文字和图片)及添加水印
  9. SLAM学习-论文综述(二)
  10. vue 路由跳转方式