如何从 Testcontainer 的应用程序文件加载属性?

How do I load properties from application file for Testcontainer?

目前,我正在使用 Testcontainer 在 spring 启动时对数据库进行集成测试。如何使用 application.yml 初始化 Testcontainer。我不想使用@DynamicPropertySource。

public static PostgreSQLContainer container = new PostgreSQLContainer("postgres:12")
spring:
  datasource:
    driverClassName: org.postgresql.Driver
    url: jdbc:postgresql://localhost:5432/db
    username: user
    password: password

你可以简单的给你加tc spring.datasource.url 属性.

spring:
  datasource:
    driverClassName: org.testcontainers.jdbc.ContainerDatabaseDriver
    url: jdbc:tc:postgresql:12:///db?TC_TMPFS=/testtmpfs:rw
    username: user
    password: password

我不想使用 application.yaml,只是创建 application-test.yaml 并覆盖默认值。您可以查看 https://www.testcontainers.org/modules/databases/jdbc/.

您也可以使用@test属性源注释覆盖。