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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM