假设我想在 Spring Boot 2.x 应用程序中使用 PostgreSQL 集成测试依赖于 JPA 数据源的代码testcontainer
(使用一行或几行代码从测试类中管理 Docker 容器的好工具)。进一步假设我正在管理端口(包含在 JDBC URL 中)application.properties
,例如
spring.datasource.url=jdbc:postgresql://user-service-postgres:5432/user_service
在集成测试中,我创建了测试容器
@Rule
PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer();
在准备方法中,我可以访问我想要设置的spring.datasource.url
值
postgreSQLContainer.getJdbcUrl()
如何在测试中告诉 Spring Boot 使用该 URL 而不是application.properties
.
我想坚持我的属性文件以最大程度地减少更改,但我感谢其他方法,包括解释它们为何优越或必要的原因。
我正在使用 Spring Boot 2.x。