2011-12-27 4 views
22

나는 스프링의 자바 설정을 시도하고있다. xml 구성 파일을 사용하는 동안 내 단위 테스트는 다음을 사용합니다.스프링 자바 설정 유닛 테스트

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(....) 

Java 구성을 사용하는 경우 어떻게합니까? 아니면 그냥 사용해야합니까?

ApplicationContext appConfig = new AnnotationConfigApplicationContext(SimpleConfiguration.class); 

답변

29

@ 3.1에서 @ContextConfiguration은 이제 @Configuration 클래스를 완벽하게 지원합니다. XML은 필요하지 않습니다.

@RunWith(SpringJUnit4ClassRunner.class) 
// ApplicationContext will be loaded from AppConfig and TestConfig 
@ContextConfiguration(classes={AppConfig.class, TestConfig.class}) 
public class MyTest { 
    // class body... 
} 

AppConfigTestConfig는 @Configuration 클래스 (@ user373201 님의 댓글에서 일명 "자바 설정"클래스)입니다

:

는 다음과 같은 코드를 보여줍니다 http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#d0e1392

또는 더 구체적으로, http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#testcontext-ctx-management-javaconfig 참조

+0

내 질문과 관련성이 없습니다. Java 구성 클래스를 사용하는 동안 @ContextConfiguration을 사용하는 방법을 알고 싶었습니다. – user373201

+0

정말 고마워요. – user373201

+0

소스 코드에서 사용되는 동일한 Java 구성 클래스를 사용하거나 파일을 복제하여 테스트 폴더에 저장해야합니까? – user16655

3

@ContextConfiguration은 테스트 사례로 작업하는 동안 Spring 구성을로드하는 데 사용됩니다. 필요없는 경우 ClassPathXmlApplicationContext를 사용하여 Spring 구성을로드 할 수 있습니다.

구성 위치를 문자열 배열로 취하는 constructor을 사용하십시오.

AnnotationConfigApplicationContext는 주석이 달린 클래스를 자동으로 검색하는 데 사용됩니다. 구성 파일을로드하는 데 사용할 수 없다고 생각합니다. 컨텍스트와 비슷합니다 : component-scan

SpringJUnit4ClassRunner은 @Test와 같은 주석을 통해 Junit에 대한 Spring Test 지원을 제공합니다.

+0

Java 구성 클래스와 함께 @ContextConfiguration을 사용하는 방법에 대한 예제를 제공 할 수 있습니까? – user373201

+0

Java 구성 클래스가 정확히 무엇을 의미합니까? 샘플을 제공해주십시오. –

+0

더 명확하게하기 위해 원래의 답변을 업데이트했습니다. –

관련 문제