2016-09-28 1 views
-1

저는 스프링 MVC 웹 앱에 어려움을 겪고 있습니다. 앱 자체가 올바르게 작동합니다. 2 일 전 제 클래스의 일부 JUnit 테스트를 만들고 싶었습니다. 그리고 sth에서 Spring으로 만드는 법을 읽었습니다.Java Spring MVC + JUNIT + Bean을 만들 수 없습니다.

그래서 테스트 클래스를 만들었고 Spring에서 테스트를 실행하고 적절한 컨텍스트를로드하기 위해 아래 주석을 사용했습니다. 그런 일이 왜

java.lang.IllegalStateException: Failed to load ApplicationContext 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageSource' defined in class path resource [dispatcher-servlet.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletContext 

사람이 말해 줄 수 : 내가 받는다는 통해하거나 Eclipse에서이 테스트를 실행하려고 할 때, 오류 다음 메신저

@RunWith(SpringJUnit4ClassRunner.class) 
@ActiveProfiles(profiles = "test") 
@ContextConfiguration(locations = {"classpath:/dispatcher-servlet.xml","classpath:/beans.xml","classpath:/jpaContext.xml"} 

을 받고? 응용 프로그램 테스트없이 제대로 작동하고 모든 콩 아무 문제없이로드됩니다.

테스트와 관련하여 문제가 있습니까?

미리 감사드립니다. Jan

+0

실제로 stacktrace를 읽었습니까? 클래스가 누락되었다는 것을 알려주므로 종속성을 추가해야합니다. –

답변

0

종속성으로 servlet-api를 추가해야합니다.

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>3.0.1</version> 
    <scope>provided</scope> 
</dependency> 

확인 자세한 내용은이 answer.

관련 문제