Есть ли способ издеваться над методом, который вводится весенним контейнером с использованием метода инъекции методом.Mocking spring метод метода IOC метод
Позвольте мне объяснить подробно
У меня есть абстрактный класс под названием Singleton, который имеет абстрактный метод в нем
public abstract class Singleton {
protected abstract LoanField check();
private LoanField getLoanField(String name) {
LoanField field = check();
}
и это соответствующая конфигурация есть в одном из файла пружинно-конфигурации.
<bean id="checkDetails" class="com.abc.tools.Singleton">
<lookup-method name="check" bean="field"/>
</bean>
<bean id="field" class="com.abc.tools.LoanField" scope="prototype"/>
Вот мой тестовый класс в коротком
Singleton fieldManager = Mockito.mock(Singleton.class, Mockito.CALLS_REAL_METHODS);
LoanField loanField = PowerMockito.mock(LoanField.class);
PowerMockito.when(fieldManager.create()).thenReturn(loanField);
Актуальной проблемой здесь является, в методе инъекционной пружины перекрывает данный абстрактный метод абстрактного класса и обеспечивает реализацию переопределенного метода, но когда я попытаться окурок этого метода в моем тестовом классе я получаю ниже ошибок
java.lang.AbstractMethodError: com.abc.tools.Singleton.create()Lcom/abc/tools/LoanField;
at com.abc.tools.SingletonTest.loanFiledNotNull(SingletonTest.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:66)
at
я знаю его не представляется возможным окурок абстрактного метода, но есть ли работа вокруг незавершенной-го e метод? Пожалуйста, помогите мне.
Ps: Я упомянул все зависит класс в @preparefortest
показать ваш тестовый код –
@Nir Levy добавил фрагмент кода класса кода –