1
我想添加一个测试类的静态方法:静态方法返回空值
class SomeClass {
public static int getLoginPage() {
if (otherStaticMethod()) {
return Screen.FOO;
}
return Screen.BAR;
}
}
注意FOO和BAR具有零值型动物。
我的测试类:
@RunWith(PowerMockRunner.class)
@PrepareForTest({SomeClass.class})
public class SomeClass_getLoginPage {
@Test
public void testgetLoginPage() {
PowerMockito.mockStatic(SomeClass.class);
Mockito.when(SomeClass.otherStaticMethod()).thenReturn(true);
assertTrue(SomeClass.getLoginPage() == Screen.FOO);
Mockito.when(SomeClass.otherStaticMethod()).thenReturn(false);
assertTrue(SomeClass.getLoginPage() == Screen.BAR);
}
}
但当方法otherStaticMethod
被调用时,getLoginPage
返回0
,它应该返回FOO
或BAR
的方法。我该如何解决这个问题?
[PowerMock,模拟静态方法,然后调用所有其他静态方法上的实际方法]的可能重复(http://stackoverflow.com/questions/14651138/powermock-mock-a-static-method-then-call-真正的方法上,所有其他-静) – kan