복붙노트

[SPRING] @Autowired annotation은 JUnit 클래스에서 Bean을 삽입 할 수 없다.

SPRING

@Autowired annotation은 JUnit 클래스에서 Bean을 삽입 할 수 없다.

내 테스트 수업 :

public class myTest extends TestCase{
@Autowired
BeanClass beanObject
public void beanTest()
{
Classdata data = beanObject.getMethod();
}
}

줄에 널 포인터 예외가 나타납니다.

Classdata data = beanObject.getMethod();

beanObject.getMethod (); 정확하게 nullpointer 예외를 제공합니다.

어떻게하면 "BeanClass"클래스의 메서드를 사용할 수 있도록 Junit 클래스의 beanObject 필드를 자동으로 작성해야합니까?

댓글에서 복사 :

해결법

  1. ==============================

    1.다음 주석으로 테스트를 장식해야합니다.

    다음 주석으로 테스트를 장식해야합니다.

    @ContextConfiguration(locations = {/* your xml locations here */})
    @RunWith(SpringJUnit4ClassRunner.class)
    

    또는 JUnit 3.x를 사용하는 경우 AbstractJUnit38SpringContextTests에서 확장해야합니다.

    참조 : TestContext 지원 클래스

    업데이트 : 문제는 컨텍스트 파일을 찾을 수 없다는 것입니다 (주석의 토론 참조).

    추가 업데이트 :

    인터페이스에 주석을 달지 말고, 구현 클래스에 주석을 달아라. @Service로 인터페이스에 주석을 달아도 아무 효과가 없습니다!

  2. from https://stackoverflow.com/questions/4746110/autowired-annotation-not-able-to-inject-bean-in-junit-class by cc-by-sa and MIT license