tsu*_*e21 13 spring-mvc junit4
我有一个带有以下注释的控制器
@Autowired
ServletContext servletContext;
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,并正确地自动装配servlet上下文.但是,当我尝试运行junit时,我得到以下异常:
org.springframework.beans.factory.BeanCreationException:创建名为'ControllerTest'的bean时出错:注入自动连接的依赖项失败; 嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:javax.servlet.ServletContext
奇怪的问题是,这只发生在ServletContext上,我在这个特定的控制器上有其他bean自动装配,并且单元测试适用于那些.
任何建议都会非常有帮助.
kro*_*ock 10
正如@bluefoot所说,你应该使用MockServletContext.为此,您可以实现ServletContext的自动连接ServletContextAware.当在Web应用程序上下文中运行并注入ServletContext时,Spring会注意到这一点,在JUnit测试中,您可以调用setServletContext方法来设置MockServletContext.
好吧,你不应该ServletContext在junit测试环境中有一个真实的.
您应该使用MockServletContext.
| 归档时间: |
|
| 查看次数: |
8670 次 |
| 最近记录: |