I found a partial job. In my case, the vast majority of instances InvocationImplwere created during one test case, which was used spy()to create a real partial layout, so one method could be overridden. I use Mockito 1.10.19, so I switched the partial layout design from spy()to mock( <class>, withSettings().spiedInstance( realInstance ).defaultAnswer( CALLS_READ_MATHODS ).stubOnly() ).
verify() , stubOnly() mock InvocationImpl , , .
Mocks Springockito Spring, bean mock() . Spring -wired.
<bean id="realInstance" class="<Real Instance Class>" />
<bean id="instSpySettings" class="org.mockito.Mockito" factory-method="withSettings" />
<bean id="instSpyPartialMock" factory-bean="instSpySettings" factory-method="spiedInstance">
<constructor-arg>
<ref local="realInstance" />
</constructor-arg>
</bean>
<bean id="instSpyDefaultAnswers" factory-bean="instSpyPartialMock" factory-method="defaultAnswer">
<constructor-arg><util:constant static-field="org.mockito.Mockito.CALLS_REAL_METHODS"/></constructor-arg>
</bean>
<bean id="instSpyStubOnly" factory-bean="instSpyDefaultAnswers" factory-method="stubOnly" />
<bean id="spyInstance" class="org.mockito.Mockito" factory-method="mock">
<constructor-arg value="<Real Instance Class>" />
<constructor-arg>
<ref local="instSpyStubOnly" />
</constructor-arg>
</bean>