好吧,我来自Rails,在尝试使这个工作有点困难。Spring MVC测试没有嘲讽
权利知道这是我从Spring框架理解(并请纠正我,如果我错了):
我使用Tomcat。所以它基本上是在web.xml之后,并检查从那里的任何配置文件,以初始化和获取豆自动有线等。
在我的例子中,我有关于web.xml的上下文配置位置的应用-config.xml中
事实证明,应用-config.xml中具有其他配置文件,将采取以下护理:
休眠:
<util:properties id="hibernatePropertiesConfigurer" location="classpath:hibernate.properties"/>
JSON转换器:
<import resource="classpath:json-converter.xml"/>
经理(@Component
)扫描仪:
<import resource="classpath:scanner-config.xml"/>
等等。换句话说,这些工作就好了,web服务器起床,经理(@Components
)为@Autowired
,@Controllers
可以给他们打电话,数据库中的对象持久等
现在,我想测试,即运行JUnit测试。我确实发现了很多关于如何嘲笑这些层(经理,控制器)的例子,但我想尝试真实的东西:
- 测试将实例
@Controller
- 测试将张贴到
@Controller
对象 @Controller
将有@Component
或@Bean
@Component
真正@Autowired
(轻慢不得版)将持续一个@Entity
- 而且,最重要的是,d atabase应该看到变化。 (我正在使用MySQL)
- 然后,测试将使用
@Component
的@Autowired
实例,并查询数据库以确认发生持久性。
这是可能的,完全可以通过Spring,JUnit测试吗?
在Spring 3.2中,查看'MockMvc'和整个MVC测试堆栈。 –
不幸的是我被Spring 3.1卡住了。然而,我看了这个:https://github.com/spring-projects/spring-mvc-showcase.git,虽然它非常有用,但我想不嘲笑地尝试。换句话说,我想要在测试中拥有与Web相同的应用程序上下文 – marcelorocks
有一个与3.1一起工作的“MockMvc”预览版:https://github.com/spring-projects/spring-test-mvc 。也许它仍然(但你真的需要升级)? –