Я пытаюсь использовать PowerMock для имитации стороннего кода, и у меня возникла проблема с расширенным методом.
Поэтому я дам фрагмент, показывающий, что происходит.
ClassA extends ClassB{
super();
}
ClassB extends ClassC{
super();
}
ClassC {
String methodA();
}
Теперь я пытаюсь издеваться над ClassA, поскольку это то, что использует мой код. Макет создается нормально, однако, когда я добавляю такое ожидание:
expect(mockClassA.methodA()).andReturn("string");
Я получаю следующую ошибку:
java.lang.IllegalStateException: отсутствует определение поведения для предыдущего вызова метода methodA() в org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:43) в org.powermock.api.easymock.internal.invocationcontrol.EasyMockMethodInvocationControl.invoke (EasyMockMethodInvocationControl.java:95) в org.powermock.core.MockGateway.doMethodCall(MockGateway.java:104) в org.powermock.core.MockGateway.methodCall(MockGateway.java:167) в .ClassC.methodA(ClassC.java )
Любые мысли о том, что мне не хватает? Я знаю, что не включил много деталей, но я подготовил ClassA для тестирования с использованием обозначений, я также поместил повтор только в одно место, чтобы убедиться, что я не неправильно помещаю mockClassA в неправильное состояние перед установкой ожидания.