[SPRING] 봄 junit 테스트
SPRING봄 junit 테스트
나는 Maven 봄 프로젝트 (최신 버전)를 가지고 있고 몇 가지 junit 테스트 (최신 버전)를 작성하려고한다.
내가 가지고있는 문제는 내 스프링 콩이 자동으로 실행된다는 것이며, junit 테스트에서 호출 할 때 스프링이 자동 실행되지 않으므로 null 포인터 예외가 발생합니다.
상황이 자동 실행되도록 컨텍스트를로드하려면 어떻게해야합니까?
해결법
-
==============================
1.Spring 레퍼런스 문서의 Testing 장을 공부 했습니까? 다음은 시작해야 할 예입니다.
Spring 레퍼런스 문서의 Testing 장을 공부 했습니까? 다음은 시작해야 할 예입니다.
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration public class MyTest { @Resource private FooService fooService; // class body... }
/ src / test / java에있는 com.example.MyTest에 있다면 /src/test/resources/com/example/MyTest-context.xml이 필요합니다. 예외는 당신에게 방법을 보여줄 것입니다.
-
==============================
2.이것은 가능성이 있습니다 :
이것은 가능성이 있습니다 :
@RunWith(SpringJUnit4ClassRunner.class) // ApplicationContext will be loaded from "/applicationContext.xml" // in the root of the classpath @ContextConfiguration({"/applicationContext.xml"}) public class MyTest { // class body... }
보통 테스트 인프라를 위해 test-applicationContext를 가지고 있지만 좋은 생각이다.
-
==============================
3.테스트 클래스에서는 SpringJUnit4ClassRunner를 사용해야하고 빈을 포함하는 테스트 클래스의 필드에는 @Resource (또는 @Autowired)를 사용해야한다. 스텁을 사용하는 특수한 테스트 컨텍스트 Spring 구성을 고려해야합니다. 그러면 테스트가 실제 단위 테스트가되고 전체 응용 프로그램 컨텍스트에 의존하지 않게됩니다.
테스트 클래스에서는 SpringJUnit4ClassRunner를 사용해야하고 빈을 포함하는 테스트 클래스의 필드에는 @Resource (또는 @Autowired)를 사용해야한다. 스텁을 사용하는 특수한 테스트 컨텍스트 Spring 구성을 고려해야합니다. 그러면 테스트가 실제 단위 테스트가되고 전체 응용 프로그램 컨텍스트에 의존하지 않게됩니다.
from https://stackoverflow.com/questions/6546871/spring-junit-testing by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring 3.2 날짜 시간 형식 (0) | 2019.01.19 |
---|---|
[SPRING] Spring : 주석 기반 구성으로 원시 값 (속성)의 생성자 주입 (0) | 2019.01.19 |
[SPRING] Spring Tomcat과 정적 리소스와 mvc : resources (0) | 2019.01.19 |
[SPRING] Spring Controller는 다른 컨트롤러와 일치하지 않는 모든 요청을 처리합니다. (0) | 2019.01.19 |
[SPRING] 추상 DAO 패턴과 Spring의 "프록시를 캐스팅 할 수 없습니다 ..."라는 문제! (0) | 2019.01.19 |