我正在尝试使用powermockit模拟静态方法。当我尝试只模拟一个类时,它工作得很好。例如Class1.staticMethod()。但是我测试的类使用了来自其他类Class2的静态方法。staticMethod().
所以我的问题是:如何模拟来自不同类的两个不同的静态方法,在同一测试中使用PowerMockito?
我不能使用mockito-inline
依赖,所以应该只使用powermockit。
只要提供两个静态模拟,就可以控制每个方法的行为。
我通常在Mockito中这样做:
protected static MockedStatic<Class1> CLASS1_MOCK= Mockito.mockStatic(Class1.class);
CLASS1_MOCK.when(Class1::staticMethod).thenReturn(testValue1);
protected static MockedStatic<Class2> CLASS2_MOCK = Mockito.mockStatic(Class2.class);
CLASS2_MOCK.when(Class2::staticMethod).thenReturn(testValue2);