У меня есть код, который имеет статический метод внутри конечного класса. Я пытался издеваться над этим методом. Я попытался сделать несколько вещей.Как высмеять статический метод в конечном классе
public final Class Class1{
public static void doSomething(){
}
}
Как я могу сделать mock 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'. «Класс1» является окончательным. и метод, который я хочу высмеять внутри 'Class1', является статическим окончательным. –