3
我有一些在最終類中有靜態方法的代碼。我試圖嘲笑這種方法。我曾嘗試做一些事情..如何在最終類中模擬靜態方法
public final Class Class1{
public static void doSomething(){
}
}
我該如何模擬doSomething()?我曾嘗試..
Class1 c1=PowerMockito.mock(Class1.class)
PowerMockito.mockSatic(Class1.class);
Mockito.doNothing().when(c1).doSomething();
這給了我一個錯誤:
org.mockito.exceptions.misusing.UnfinishedStubbingException:
Unfinished stubbing detected here:
-> at com.cerner.devcenter.wag.textHandler.AssessmentFactory_Test.testGetGradeReport_HTMLAssessment(AssessmentFactory_Test.java:63)
E.g. thenReturn() may be missing.
Examples of correct stubbing:
when(mock.isOk()).thenReturn(true);
when(mock.isOk()).thenThrow(exception);
doThrow(exception).when(mock).someVoidMethod();
Hints:
1. missing thenReturn()
2. you are trying to stub a final method, you naughty developer!
at org.powermock.api.mockito.internal.invocation.MockitoMethodInvocationControl.performIntercept(MockitoMethodInvocationControl.java:260)
我試過這樣做,但沒有成功。 在我的情況下,我正在編寫'Class2'的測試用例,它有一些使用'Class1'的方法。 Class1是最終的。我想在'Class1'裏面模擬的方法是靜態的。 – 2017-07-12 07:08:13