【发布时间】:2019-03-09 13:03:18
【问题描述】:
如何使用 PowerMockito 模拟嵌套的静态方法? 下面是一个非常简单的例子,说明我想如何使用它。
类:
public class SomeClass {
public static String someMethodA(){
//some very important codes here
return someMethodB();
}
private static String someMethodB(){
return someMethodC();
}
private static String someMethodC(){
return "Some Text";
}
}
已经尝试了以下方法,但没有成功:
PowerMockito.mockStatic(SomeClass.class);
PowerMockito.stub(PowerMockito.method(SomeClass.class, "someMethodB")).toReturn("Some Other Text");
我想按原样运行 someMethodA(),这就是为什么我想改为存根 someMethodB()。无论如何我可以做到这一点吗?希望有一种无需修改访问修饰符的方法,因为我正在使用的代码是遗留代码。
【问题讨论】:
-
嗨朋友,你的意思是你想单元测试
someMethodA,这是私有的模拟someMethodB?或者如果someMethodA也是公开的,那可以吗?。 -
嗨普拉文。是的。将 someMethodA 编辑为公开。没关系。
标签: java methods static mockito powermockito