我想对Spring MVC Rest服务进行集成测试。此测试的目的主要是测试REST部分,而不是整个应用程序。这意味着我想使用HSQLDB而不是PostgreSQL的主数据库。 与此同时,我希望将Rest服务部署在Tomcat上,以便更接近我们的真正目标。
我发现这个博客及其示例应用程序最终与我的需求非常接近: http://johndobie.blogspot.fr/2012/04/unit-and-integration-tests-with-maven.html 它使用货物maven插件启动tomcat并开始集成测试。
我唯一的问题是:我如何使用特殊的ApplicationContext进行测试,就像我进行简单的单元测试一样?
如果我理解正确,集成测试使用与实际应用程序相同的war文件。这意味着war使用生产web.xml,它调用使用真实数据库的生产ApplicationContext.xml(我们对某些参数使用属性占位符,但对Hibernate的方言不使用)。
所以我的问题是:有没有办法使用测试web.xml或至少测试ApplicationContext.xml进行集成测试?
谢谢。
答案 0 :(得分:1)
如果您真的想使用相同的WAR进行测试和生产: 取决于您的Spring版本:
对于春天> 3.1:您可以使用配置文件,请参阅此处的示例:http://spring.io/blog/2011/02/11/spring-framework-3-1-m1-released/
对于较旧的Spring版本,Apache Cocoon项目中的Spring Configurator:http://cocoon.apache.org/subprojects/configuration/spring-configurator/index.html