我想在春天测试注入依赖项。
我有一个班级:
public SomeClass {
@Autowired
SomeBean bean ;
public SomeBean getBean(){
return this.bean ;
}
}
我想要这样的测试:
public SomeClassTest {
SomeClass someClass ;
@Before
public void setUp(){
someClass = new SomeClass() ;
}
@Test public testBeanWired(){
assertNotNull(someClass.getBean()) ;
}
}
我尝试使用带有测试配置文件的ContextConfiguration,但测试失败,我不想在测试中使用@Autowired,我想创建我的类的实例,并且bean会自动自动装配。 / p>
答案 0 :(得分:3)
只有在使用@Configuration注释bean并且检测了字节码时,才可能执行此操作。否则,只有Spring创建的bean才会自动装配。不是使用new
创建的bean。因为Spring无法知道你创建了一个对象,并且必须在其中注入一个依赖项。
这是依赖注入的基本原则:对象被实例化并由容器注入,而不是由你注入。