Заглушка статического частного метода внутри класса Utils с помощью powermockito - PullRequest
0 голосов
/ 09 сентября 2018

У меня следующий поток:

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 голосов
/ 09 сентября 2018

Используя 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...