Spring 启动测试容器

Spring boot test containers

是否可以使用带有 spring 引导的测试容器即 oracle-xe,但将其用作本地部署的数据库.. 例如获取 spring 引导以在开发中启动配置文件并让测试容器也启动并用于敌人后端..

我看过一些用于测试的示例,但后来被撕掉了 down/shut。

有什么想法吗?

更新:

所以我设法连接测试容器并启动它。设置了 spring 属性..

当 schema.sql 文件加载时,我得到一个没有权限的错误...我正在尝试创建一个新模式并向其中添加一些表..但它似乎不起作用..

“表空间没有权限 'SYSTEM'”

CREATE USER PM3 IDENTIFIED by PM3

 

CREATE TABLE PM3.JOBS (

    JOB_ID NUMBER(3) NOT NULL,

    CUSTOMER_ID NUMBER(3) NOT NULL,

    DESCRIPTION VARCHAR(200),

    constraint PK_JOB_ID primary key (JOB_ID)

);

既然你可以manually control the lifecycle of the containers这应该是完全可能的。如果 develop 配置文件处于活动状态,只需添加一些启动和停止容器的代码。

Testcontainers 的核心维护者之一 Sergei Egorov 在 his blog 上展示了如何实现这一目标。

它归结为在启动 Spring 引导应用程序之前添加一个新的 Spring 引导条目 class 和一个初始化程序。这样您就可以重复使用任何 Testcontainers 设置进行本地开发。