我想模拟调用其他静态方法中的静态方法。
public class MyClass
{
public static void methodA(String s)
{
...
methodB(s);
...
}
public static void methodB(String s)
{
...
}
}
所以,我想模拟methodA
,但是我想跳过调用methodB
。我尝试了几乎所有我能找到的解决方案,但都没有成功。每次都会调用methodB
。
我使用的一些解决方案:
PowerMockito.suppress(method(MyClass.class, "methodB"));
MyClass.methodA("s");
_
PowerMockito.stub(method(MyClass.class, "methodB"));
MyClass.methodA("s");
_
PowerMockito.mockStatic(MyClass.class);
doNothing().when(MyClass.class, "methodB", anyString());
MyClass.methodA("s");
还有很多其他问题... 有人有解决这个问题的想法吗?
methodA
并且它调用了其他方法,也许你应该以这种方式进行测试并测试你的methodB
。 - Stefan LindnermethodB
呢? - Stefan Lindner