mockito模拟静态方法

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

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



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

posted @   ppjj  阅读(23212)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2016-03-01 oracle中避免sort操作
点击右上角即可分享
微信分享提示