0

我想在春天测试注入依赖关系。

我有一堂课:

 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 会自动自动装配。

4

1 回答 1

3

这只有在 bean 使用 @Configuration 注释并且字节码被检测时才有可能。否则,只有 Spring 创建的 bean 是自动装配的。不是使用new. 因为 Spring 无法知道您创建了一个对象,并且它必须在其中注入一个依赖项。

这是依赖注入的一个基本原则:对象由容器实例化和注入,而不是你。

于 2013-03-25T22:58:28.290 回答