在编写代码时,经常需要调用别人已经写好的工具类,而这些工具提供的方法经常是static方法,在这里,直接贴出《PowerMock实战手册》中的例子

待测试方法:

public class EmployeeService {
public int getEmployeeCountWithStatic() {
return EmployeeUtils.getEmployeeCount();
}
}

引用的工具类

public class EmployeeUtils {
public static int getEmployeeCount() {
throw new UnsupportedOperationException();
}
}

测试方法:

@PrepareForTest(EmployeeUtils.class)
public class EmployeeServiceTestWithStaticTest extends PowerMockTestCase{ private EmployeeService employeeService; @ObjectFactory
public ITestObjectFactory getObjectFactory() {
return new PowerMockObjectFactory();
} @BeforeMethod
public void init(){
employeeService = new EmployeeService();
} @Test
public void testGetEmployeeCountWithStatic() {
PowerMockito.mockStatic(EmployeeUtils.class);
PowerMockito.when(EmployeeUtils.getEmployeeCount()).thenReturn(10);
int count = employeeService.getEmployeeCountWithStatic();
Assert.assertEquals(10, count);
}
}

重点是

PowerMockito.mockStatic(EmployeeUtils.class);

mock类EmployeeUtils中的所有static方法

最新文章

  1. [LeetCode] Increasing Triplet Subsequence 递增的三元子序列
  2. java sound初探
  3. nginx+tomcat+dubbo单机部署多台dubbo应用
  4. 根据网址把图片下载到服务器C#代码
  5. Spring、Spring MVC、MyBatis整合文件配置详解
  6. curl 查看一个web站点的响应时间(rt)
  7. Openvswitch原理与代码分析(1):总体架构
  8. Winform容器标签 打印标签 对话框控件
  9. yum update Transaction Check Error
  10. Android5.0之Activity的转场动画
  11. 1160 蛇形矩阵(codevs)
  12. VS2013和VS2015中MVC 区域路由匹配顺序相反
  13. beego 各种形式的路由实例
  14. 【转载】基于rasa的对话系统搭建(上)
  15. centos部署flask
  16. ProxySQL
  17. Android内容提供者(Content provider)
  18. 认识OpenStack中的flatnetwork
  19. s3cmd在配置后使用时提示ERROR: S3 error: 403 (InvalidAccessKeyId): The AWS Access Key Id you provided does not exist in our records.
  20. windows下的IO模型之完成端口

热门文章

  1. 【转载】推荐5款超实用的.NET性能分析工具
  2. 【树莓派】【转】利用USB网卡配置树莓派为无线热点
  3. MVC文章汇总
  4. DuiLib 源码分析之解析xml类CMarkup & CMarkupNode 头文件
  5. Node聊天程序实例02:chat_server.js
  6. angular学习input输入框筛选
  7. [SoapUI] 在SoapUI里用Java语言判断Excel单元格为空或者Null时出错
  8. 关键字volatile
  9. Tomcat APR & Linux Optimization
  10. 改造laravel的登录流程,仅使用一个token登录laravel