Jmockit对类静态方法mock

首先要明确一点,一个类型被注释为@Mocked后,其所有方法包括静态方法都将处于mocked状态

类MethodClass包含一个静态方法与public方法

public class MethodClass
{public static String publicStaticMethod(){return "Original public Static Method !";}public String publicMethod(){return "Original public Method !";}
}

用例入参中将MethodClass类型置为mocked状态,所有方法均被mocked

@Test
public void test_mockPublicStatic2(@Mocked final MethodClass c)
{System.out.println(MethodClass.publicStaticMethod());//nullMethodClass obj = new MethodClass();System.out.println(obj.publicMethod());// null
}

若只想对静态方法mock,可以使用Expectations(MethodClass.class),对MethodClass部分静态方法进行mock

/*** 通过Expectations(Object... classesOrObjectsToBePartiallyMocked)只对部分静态函数进行mock,其他方法保持原态**/
@Test
public void test_mockPublicStatic1()
{//mock静态方法,所以这里可以用类对象new Expectations(MethodClass.class){{MethodClass.publicStaticMethod();result = "Mocked public static method";}};System.out.println(MethodClass.publicStaticMethod());//Mocked public static method//原有public方法不会被mockMethodClass obj = new MethodClass();System.out.println(obj.publicMethod());// Original public Method !
}

Jmockit对类静态方法mock相关推荐

  1. 静态方法mock 和verify

    2019独角兽企业重金招聘Python工程师标准>>> 静态方法mock 和verify @Test /*** failed*/ public void test_printFile ...

  2. Mockito 实现原理(3):如何对 final 类进行 mock

    目录 背景 方法 正常方法 阅读源码时可以使用的方法 什么情况下可以不创建派生类 原理 小结 背景 前面两篇提到,Mockito 默认基于创建派生类(subclass)来实现 mock(包括 spy) ...

  3. Jmockit 静态方法mock

    类中存在刷新.初始化等静态方法时,编写单元测试案例. 示例 被测试类: public class MethodClass{public static void refresh(){......init ...

  4. Java类静态方法的mock实现

    Mockito 3.4.0 mock常见静态方法 待测试类: package com.taobao.vip.shop.biz.sqyk.manager;import com.taobao.vip.sh ...

  5. 工具类静态方法注入dao

    工具类里的一个静态方法需要调用dao查询数据库,用普通的spring注解注入一直报空指针异常,不能找到这个dao.参考的http://busing.iteye.com/blog/899322 的文章解 ...

  6. python一个类调用另一个类的方法_python 类静态方法实例化另一个类对象的问题?...

    Logger是使用logging封装的一个日志类, 每次使用的时候都要实例化一下: logger = Logger().getLogger() logger.info(' message ') 不想每 ...

  7. python调用接口实例化_python 类静态方法实例化另一个类对象的问题?

    Logger是使用logging封装的一个日志类, 每次使用的时候都要实例化一下: logger = Logger().getLogger() logger.info(' message ') 不想每 ...

  8. Swift - 类型属性(类静态属性)和类方法(类静态方法)

    1,结构体struct和枚举enum的静态属性,静态方法使用static关键字 1 2 3 4 5 6 7 8 9 10 struct Account {      var amount : Doub ...

  9. struts2无法调用类静态方法的解决办法

    现在做网站中需要用到格式化输出Date对象,由于从数据库中取出来的是一个整体对象(例如Article对象),因此需要在显示页面来进行格式化处理.为了方便,写了一个DateFormateUtil类,里面 ...

最新文章

  1. 【linux】Valgrind工具集详解(五):命令行详解
  2. Vim 键盘指令高清图
  3. spring手动配置
  4. iOS之深入解析UmbrellaFramework的封装与应用
  5. Swift傻傻分不清楚系列(八)函数
  6. Matlab中数组下标是logical,如何处理?
  7. docker安装mysql后无法执行mysql命令
  8. ubuntu系统下,Firefox火狐浏览器播放网页视频失败,显示未安装视频插件
  9. PS(Photoshop)去水印的4个方法
  10. inno setup使用1 记录一下相关参数
  11. 在php中利用gd2库的函数创建水印
  12. CT与DR双能X射线物质识别算法实现与应用(工业选煤、稀土分拣、毒爆检测、垃圾分类等)
  13. 周大福守护一生 | 在520奔赴一场终身浪漫的约会
  14. 本科计算机应用与技术开发工作会议,计算机科学与技术学院举行本科生迎新大会...
  15. D17-读论文D17算法D17-复习
  16. 让我来推荐几个WAV音频格式转换软件
  17. 自定义数值范围选择组件
  18. 利息理论习题课1答案
  19. 何为大型机、中型机、小型机
  20. fastjson全局配置

热门文章

  1. 2020中国高校计算机大赛·华为云大数据挑战赛-数据分析(一)
  2. 关于斐波那契数列那些事儿~
  3. 织梦php实现评论,织梦文章评论功能的使用
  4. 零时科技 || TempleDAO攻击事件分析
  5. VB.net小技巧——VB中利用TreeView控件和Box控件做知识备忘
  6. dbd mysql db_关于DBD连接mysql数据库
  7. 如何使用Python实现易班自动报送
  8. Oracle实现判断功能三种方式总结
  9. C++里string转换为int
  10. 新数据整合的五大方式