Java 在SpringREST集成测试中使用开发人员HSQLDB
我想对Spring MVC Rest服务进行集成测试。本测试的目的主要是测试其余部分,而不是整个应用程序。这意味着我想使用HSQLDB而不是PostgreSQL的主数据库。 同时,我希望在Tomcat上部署Rest服务,使其更接近我们的实际目标 最后,我发现这个博客及其示例应用程序非常接近我的需要: 它使用cargo maven插件启动tomcat并启动集成测试 我唯一的问题是:我如何像使用简单的单元测试一样使用特殊的ApplicationContext进行测试 如果我理解正确,集成测试使用与实际应用程序相同的war文件。这意味着war使用production web.xml调用production ApplicationContext.xml,后者使用真实数据库(我们对某些参数使用属性占位符,但对Hibernate的方言不使用) 所以我的问题是:有没有一种方法可以使用test web.xml或至少是test ApplicationContext.xml进行集成测试Java 在SpringREST集成测试中使用开发人员HSQLDB,java,integration-testing,hsqldb,maven-cargo,Java,Integration Testing,Hsqldb,Maven Cargo,我想对Spring MVC Rest服务进行集成测试。本测试的目的主要是测试其余部分,而不是整个应用程序。这意味着我想使用HSQLDB而不是PostgreSQL的主数据库。 同时,我希望在Tomcat上部署Rest服务,使其更接近我们的实际目标 最后,我发现这个博客及其示例应用程序非常接近我的需要: 它使用cargo maven插件启动tomcat并启动集成测试 我唯一的问题是:我如何像使用简单的单元测试一样使用特殊的ApplicationContext进行测试 如果我理解正确,集成测试使用与实
谢谢。如果您真的想在测试和生产中使用相同的WAR: 根据您的Spring版本:
- 对于Spring>3.1:您可以使用配置文件,请参见此处的示例:
- 对于较旧的Spring版本,请使用Apache Cocoon项目中的Spring配置程序:
- 如果只是数据源,那么第三种可能性是您可以在Tomcat中配置数据源,并通过JNDI引用它