Spring集成测试Oracle本机SQL

Spring集成测试Oracle本机SQL,spring,oracle,testing,integration,in-memory-database,Spring,Oracle,Testing,Integration,In Memory Database,我有一个遗留应用程序,最近已经从Struts移植到SpringMVC。数据层是使用本机Oracle SQL编写的。我想介绍一些集成测试,但出于明显的原因,我不想使用实际的Oracle数据库。是否有内存中的数据库可以处理Oracle本机SQL?这只是一个梦吗?我会在虚拟机中使用Oracle XE吗?我发现H2实际上具有Oracle兼容模式。太好了 spring.datasource.url=jdbc:h2:mem:testdb;Mode=Oracle spring.datasource.platf

我有一个遗留应用程序,最近已经从Struts移植到SpringMVC。数据层是使用本机Oracle SQL编写的。我想介绍一些集成测试,但出于明显的原因,我不想使用实际的Oracle数据库。是否有内存中的数据库可以处理Oracle本机SQL?这只是一个梦吗?我会在虚拟机中使用Oracle XE吗?

我发现H2实际上具有Oracle兼容模式。太好了

spring.datasource.url=jdbc:h2:mem:testdb;Mode=Oracle
spring.datasource.platform=h2
spring.jpa.hibernate.ddl-auto=none
spring.datasource.continue-on-error=true

Oracle的内存中数据库TimesTen是否与标准Oracle兼容?

很抱歉,但是希望在没有实际数据库的情况下进行集成测试的原因并不明显。我甚至无法想象在没有数据库的情况下如何测试一个数据库应用程序…@EdStevens我想不需要真正的Oracle数据库集成测试的原因并不那么明显。1) 必须为集成管理一个集中的模式2)网络延迟3)与多人共享一个数据库进行集成测试。我确信还有更多的原因,但这些是我首先想到的。@EdStevens我曾在基于MongoDB的应用程序上工作过,这些应用程序具有集成测试,可以由多个开发人员离线运行,而无需在应用程序代码外部进行公共DB配置。有一个内存中的MongoDB实例来运行测试几乎是微不足道的。“有一个内存中的MongoDB实例来运行测试几乎是微不足道的。”所以您确实有一个数据库来测试(“内存中的MongoDB实例”)。您只是在架构上有点不同。@EdStevens,我正在使用我的MongoDB实例作为示例。这是一个完全不同的项目,一个基于JDBC和Oracle原生SQL的项目。啊,很有趣。我不知道十次了。你有没有一个例子说明我如何在Gradle或Maven脚本中定义它?