这里要用到使用powerMock 
注意点: 
1 @RunWith(PowerMockRunner.class) 
2 PowerMockito.mockStatic(StaticTest.class);

  1. package com.eyu.ahxy.module.staticd;
  2. import static org.hamcrest.Matchers.equalTo;
  3. import static org.junit.Assert.assertThat;
  4. import org.junit.Test;
  5. import org.junit.runner.RunWith;
  6. import org.powermock.api.mockito.PowerMockito;
  7. import org.powermock.modules.junit4.PowerMockRunner;
  8. @RunWith(PowerMockRunner.class)
  9. public class StaticTest {
  10. @Test
  11. public void test1() {
  12. PowerMockito.mockStatic(StaticTest.class);
  13. PowerMockito.when(StaticTest.static1()).thenReturn("static");
  14. String result = StaticTest.static1();
  15. assertThat(result, equalTo("static"));
  16. PowerMockito.verifyStatic();//验证静态方法是否执行
  17. }
  18. public static String static1() {
  19. return "test1";
  20. }
  21. }

powmock的maven依赖:

<dependency> 
<groupId>org.powermock</groupId> 
<artifactId>powermock-api-mockito</artifactId> 
<version>1.6.3</version> 
<scope>test</scope> 
</dependency>

<dependency> 
<groupId>org.powermock</groupId> 
<artifactId>powermock-module-junit4</artifactId> 
<version>1.6.3</version> 
<scope>test</scope> 
</dependency>

本文转自:http://huangyunbin.iteye.com/blog/2176728

mockito模拟静态方法的更多相关文章

  1. 使用mockito模拟静态方法

    一.为什么要使用Mock工具 在做单元测试的时候,我们会发现我们要测试的方法会引用很多外部依赖的对象,比如:(发送邮件,网络通讯,远程服务, 文件系统等等). 而我们没法控制这些外部依赖的对象,为了解 ...

  2. js模拟静态方法

    //模拟静态 var Animal = function(name){ this.name = name; Animal.instanceCounter ++; }; Animal.instanceC ...

  3. 使用MRUnit,Mockito和PowerMock进行Hadoop MapReduce作业的单元测试

    0.preliminary 环境搭建 Setup development environment Download the latest version of MRUnit jar from Apac ...

  4. 使用PowerMockito和Mockito进行模拟测试,包括静态方法测试,私有方法测试等,以及方法执行的坑或者模拟不成功解决

    依赖:这个很重要,不同版本用法也有点区别: <dependency> <groupId>org.mockito</groupId> <artifactId&g ...

  5. Mockito为什么不能mock静态方法

    因为Mockito使用继承的方式实现mock的,用CGLIB生成mock对象代替真实的对象进行执行,为了mock实例的方法,你可以在subclass中覆盖它,而static方法是不能被子类覆盖的,所以 ...

  6. mock测试框架Mockito

    无论是敏捷开发.持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石.随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了.在敏捷开发.持续交付中要求单元测试一定要快(不能访 ...

  7. 单元测试mock之mockito使用

    先来一个简单的例子来感受一下 外部接口类:TestService.java package com.yzl.mock; /** * 测试用服务 * * @author yangzhilong */ p ...

  8. 使用 Mockito 单元测试 – 教程

    tanyuanji@126.com 版本历史 - - - - 使用 Mockito 进行测试 该教程主要讲解 Mockito 框架在Eclipse IDE 中的使用   目录 tanyuanji@12 ...

  9. 使用Mockito进行单元测试【1】——mock and verify[转]

    本文转自:http://qiuguo0205.iteye.com/blog/1443344 1. 为什么使用Mockito来进行单元测试? 回答这个问题需要回答两个方面,第一个是为什么使用mock?m ...

随机推荐

  1. 【尺取法】【Multiset】bzoj1342 [Baltic2007]Sound静音问题

    O(n)地枚举所有长度为k的段,每次暴力转移. 转移的时候只是从最后插入一个数,从前面删去一个数. 计算的时候要取当前的max和min. 用multiset(∵元素是可重的)以上这些操作都是O(log ...

  2. 十. 图形界面(GUI)设计10.菜单

    有两种类型的菜单:下拉式菜单和弹出式菜单.本章只讨论下拉式菜单编程方法.菜单与JComboBox和JCheckBox不同,它们在界面中是一直可见的.菜单与JComboBox的相同之处是每次只可选择一个 ...

  3. [OpenJudge8786][暴力DP]方格取数

    方格取数 总时间限制: 1000ms 内存限制: 65536kB [描述] 设有N*N的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): ...

  4. Android Studio 中修改versionCode跟versionName

    在Android Studio 中修改versionCode 跟versionName最写了一个新版的软件准备发布到应用平台上,但是versionCode和versionName的值一直修改不成功,在 ...

  5. 对象数组的初始化:null reference

    今天写代码的时候,发现我写的对象数组,只声明,而没有初始化,所以记录一下这个问题:null reference. Animals [] an=new Animals[5];//这只是个对象类型数组的声 ...

  6. 破解SQLServer for Linux预览版的3.5GB内存限制 (RHEL篇) 转

    https://www.ancii.com/database/30842.html 微软发布了SQLServer for Linux,但是安装竟然需要3.5GB内存,这让大部分云主机用户都没办法尝试这 ...

  7. vim 代码注释插件

    参考: 1.http://www.vim.org/scripts/script.php?script_id=1218 2.http://www.dutor.net/index.php/2010/05/ ...

  8. Oracle里面的用户user无法登录 LOCKED(TIMED)

    SQL>conn test/test 还是报同样的错误,这就奇怪了.看看dba_users中该用户的状态等信息 SQL>select account_status,lock_date,pr ...

  9. WebService authentication

    http://blog.csdn.net/largestone_187/article/details/5734632 通过SoapHeader对用户口令进行验证,只有授权的用户才可以使用接口.确保了 ...

  10. Excel的列数以数字格式查看

    1.Excel中的列数默认是以字母形式显示的,当我们有大量数据并想知道任一数据是第多少行多少列时这样就不方便了,我们可以通过如下设置来达到让EXCEL以数字形式显示行数和列数的效果. 2.点击文件-- ...