是否可以使用'MethodInvokingFactoryBean'来创建模拟bean?

时间:2015-02-04 10:00:58

标签: spring mockito factory

我们可以使用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方法?有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用factory-method方法执行此操作。 Spring会将constructor-arg解释为Class对象。

<bean id="userService" class="org.mockito.Mockito" factory-method="mock">
  <constructor-arg value="fully.qualified.class.name.SomeCls" />
</bean>

我没有尝试过,但假设您可以通过将完全限定的类名传递给MethodInvokingFactoryBean属性来对arguments执行相同的操作。