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

时间:2018-09-09 07:14:31

标签: java unit-testing mockito

我的流程如下:

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可以实现吗?

1 个答案:

答案 0 :(得分:0)

使用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);