用于集成测试的嵌入式或托管Oracle实例

问题描述 投票:2回答:2

对于MySQL,MXJ连接器使launch a managed MySQL instance变得非常容易。

我知道Oracle提供Oracle XE用于快速设置,但我只发现需要安装的RPM发行版。是否有一个整齐打包的jar我可以放入类路径并通过调用特定的JDBC url,一个HSQLDB或MXJ来启动?

我有兴趣让开发人员在本地使用它来运行测试,以及我们的持续集成服务器。

oracle integration-testing embedded-database
2个回答
3
投票

简短的回答是否定的.Oracle是数据库的一大块。除此之外,它通常希望自己由自己的特殊用户而不是客户端用户运行。

为简单起见,您最好的选择是一个单独的数据库服务器,每个开发人员在数据库中都有自己的用户名/密码(因此也就是他们自己的独立模式)。


1
投票

虽然Oracle不提供嵌入式数据库,但是启动运行Oracle XE的本地Docker容器可能是适应特定于Oracle的本地集成测试的理想方式。由于Docker容器在设计上本质上是短暂的,因此数据库也可以根据需要完全拆除,从而提供干净的沙盒。

我发现DockerHub上的alexeiled/docker-oracle-xe-11g图像具有特别清晰的设置和文档说明:https://hub.docker.com/r/alexeiled/docker-oracle-xe-11g/

旋转Docker容器后,请务必:

正如文档所描述的那样,docker run命令也可以设计为在容器的启动时自动运行SQL脚本,这在CI /集成测试工作流程中也非常有价值。

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.