【发布时间】:2011-11-13 17:49:44
【问题描述】:
对于我的单元测试,我想对被测 bean 的一些自动装配依赖项使用模拟。模拟已正确创建并注入到单元测试类中,但将其注入到被测 bean 失败
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:
No matching bean of type [Service] found for
dependency: expected at least 1 bean which qualifies as autowire candidate for this
dependency. Dependency annotations:
{@org.springframework.beans.factory.annotation.Autowired(required=true)}
这是我使用的 testContext.xml
<bean id="Service" class="org.easymock.EasyMock" factory-method="createMock">
<constructor-arg value="Service" ></constructor-arg>
</bean>
<bean id="Controller" class="Controller">
<property name="Service" ref="Service"></property>
</bean>
这是被测 bean (Controller.java) 中连线失败的部分
@Autowired
private Service service;
但如果我将相同的模拟自动装配到我的单元测试类 (ControllerTest.java) 中,则不会发生错误,
@Autowired
private Service service;
注入的对象是类型
($Proxy18) EasyMock for interface Service
有什么建议为什么不能注入被测 bean 但注入测试有效?
亲切的问候 多米尼克
【问题讨论】: