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