繁体   English   中英

使用powermockito在Utils类中存入静态私有方法

[英]Stubing a static private method inside a Utils class with powermockito

我有以下流程:

manager.getObject.doSomthing();

在doSomething()从Utils类调用静态函数的情况下,该函数又调用了私有静态函数,例如:

public class obj {
  public void doSomething(){
    Utils.do();
  }
}

public class Utils {
  public static void do(){
    int test = doPrivate();
    ...
    ~do unrelated computation~
    ...
  }

  private static int doPrivate(){
    return someComplexMethod();
  }
}

而且我想模拟doPrivate,因此我仍然能够测试do()方法
用powermockito可以实现吗?

使用powermock-api-mockito可以实现此目的。 您可以模拟类的特定静态方法。 语法如下:

import static org.powermock.api.support.membermodification.MemberMatcher.method;
import static org.powermock.api.support.membermodification.MemberModifier.stub;
stub(method(Utils.class, "doPrivate")).toReturn(response);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM