2010-07-01 3 views
3

war 패키지를 빌드하는 데 maven war 플러그인을 사용하고 있습니다.Maven - '테스트'및 '전쟁'단계에서 다른 Java 클래스 사용

패키지가 빌드되기 전에 테스트가 실행됩니다. 샘플 데이터로 데이터베이스를 미리 초기화하려면 스프링 빈을 사용합니다. 테스트를 위해 db에 다른 데이터를 갖고 싶습니다. 응용 프로그램이 시작될 때마다 다릅니다.

'테스트'와 '전쟁'단계에서 두 가지 다른 스프링 이니셜 라이저 클래스를 사용하는 것이 가능할 수도 있지만이를 달성하는 방법을 모르겠습니다.

답변

3

src/main/java 또는 src/test/java에 필요한 다른 클래스를 넣거나 src/main/resources 또는 src/test/resources에 추가 application.xml이 있어야합니다. 테스트 이니셜 라이저는 모든 테스트가 실행되기 전에 먼저 초기화되는 Test 클래스에 의해 수행 될 수 있습니다 (이러한 종류의 기능을 가진 testng을 살펴보십시오).

+0

Maven은 테스트를 실행할 때 src/main/java, src/test/java 및 src/test/resources를 클래스 경로에 자동으로 추가하고 src/main/java 및 src/main/resources 만 WAR에 추가하기 때문에 작동합니다. –

1

테스트에는 프로덕션 스프링 컨텍스트 (xml) 파일을 사용하지 않아야합니다.

테스트에서 ApplicationContext에 액세스해야하거나 (AbstractTransactionalJUnit4SpringContextTests과 같은 기본 테스트 케이스 클래스를 사용하는 경우) 테스트 데이터베이스 구성 및 테스트 데이터 스크립트를 가리키는 test-context.xml 컨텍스트를 설정하십시오.

관련 문제