首页  编辑  

JUnit单元测试中如何Mock类静态方法?

Tags: /Java/   Date Created:
如何MockUp一个类的静态方法?
使用 JMock 即可,首先在pom.xml中,引入jmockit依赖。
<dependency>
    <groupId>org.jmockit</groupId>
    <artifactId>jmockit</artifactId>
    <version>1.9</version>
    <scope>test</scope>
</dependency>
被MockUp的类:
public class Log {
  public static void debug(String level, String text) {
      // Do something
  }
}
然后在单测文件中,用如下方式MockUp Log.debug方法:
import mockit.Mock;
import mockit.MockUp;

@Test
public  void testXxx() {
   new MockUp<Log>() {
    @Mock
    public void debug(String level, String text) {
        // mock 代码
    }
   }
   
   Log.debug("aaa", "bbb");
}