是否可以使用 'MethodInvokingFactoryBean' 来创建模拟 bean?
Is it possible to use 'MethodInvokingFactoryBean' to create a mock bean?
我们可以使用 Mockito.mock(SomeCls.class)
创建模拟,但我们如何使用 MethodInvokingFactoryBean
在应用程序上下文 xml 文件中定义它?
我试过了:
<bean id="userService" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="org.mockito.Mockito"/>
<property name="targetMethod" value="mock"/>
<property name="arguments" value="????">
</property>
</bean>
如何将 my.UserService
作为参数传递给 mock
方法?可能吗?
您可以使用 factory-method
方法来完成。 Spring 会将构造函数参数解释为 Class
对象。
<bean id="userService" class="org.mockito.Mockito" factory-method="mock">
<constructor-arg value="fully.qualified.class.name.SomeCls" />
</bean>
我还没有尝试过,但假设您可以对 MethodInvokingFactoryBean
执行相同的操作,方法是将完全限定的 class 名称传递给 arguments
属性 .
我们可以使用 Mockito.mock(SomeCls.class)
创建模拟,但我们如何使用 MethodInvokingFactoryBean
在应用程序上下文 xml 文件中定义它?
我试过了:
<bean id="userService" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="org.mockito.Mockito"/>
<property name="targetMethod" value="mock"/>
<property name="arguments" value="????">
</property>
</bean>
如何将 my.UserService
作为参数传递给 mock
方法?可能吗?
您可以使用 factory-method
方法来完成。 Spring 会将构造函数参数解释为 Class
对象。
<bean id="userService" class="org.mockito.Mockito" factory-method="mock">
<constructor-arg value="fully.qualified.class.name.SomeCls" />
</bean>
我还没有尝试过,但假设您可以对 MethodInvokingFactoryBean
执行相同的操作,方法是将完全限定的 class 名称传递给 arguments
属性 .