【发布时间】:2019-07-26 08:53:27
【问题描述】:
我想知道是否有一种方法可以验证和调用为从被测公共静态方法调用的私有静态方法创建的模拟。
这是我正在测试的公共静态方法
public static String methodUnderTest(String p1){
return privateStaticMethod(p1);
}
private static String privateStaticMethod(String p1){
return "dummy";
}
我使用 powermokito 模拟了私有静态方法如下:
@RunWith(PowerMockRunner.class)
@PrepareForTest(fullyQualifiedNames = "ClassUnderTest")
public class ClassUnderTestTest {
@Test
public void test_sometest() throws Exception {
PowerMockito.spy(ClassUnderTest.class);
PowerMockito.doReturn("whatever").when(ClassUnderTest.class, "privateStaticMethod","something");
String retValue = ClassUnderTest.methodUnderTest("something");
assertEquals(retValue, "whatever");
}
}
现在,有没有办法验证是否调用了 privateStaticMethod?
【问题讨论】:
标签: java unit-testing powermock powermockito