0
봄에 주입 의존성을 테스트하고 싶습니다.통합 테스트 : Autowired 주석을 테스트하십시오.
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이 자동으로 autowired됩니다.
제가 테스트하고 싶은 것은 컨테이너가 그 일을하고있는 것입니까? 나는 내 테스트를위한 컨텍스트 설정 파일을 가지고 있는데, 여기서 빈은 선언된다. 테스트 할 때 내 클래스가 인스턴스화 될 때, 주입 될 빈을 원한다. – elaich
컨테이너의 작업은 컨테이너가 인스턴스화하는 빈을 autowire하는 것이다. 인스턴스화하는 bean을 autowire하는 경우 테스트 중입니다. 따라서 테스트가 실패합니다. 컨테이너가 작업을 수행하지 않기 때문에가 아니라 Spring 컨텍스트에서 bean 인스턴스를 가져 오는 대신 new를 사용하기 때문이다. –
mmmmm 맞습니다. 그래서'@Autowired SomeClass someClass'를 표시해야합니다. 그러면 테스트가 통과하고 그렇습니다. – elaich