切换Spring注释取决于活动配置文件

时间:2020-09-27 11:51:16

标签: java spring spring-boot

我对Spock类进行以下配置,该类负责运行集成测试。

@ContextConfiguration(classes = AccountService.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Sql(executionPhase= Sql.ExecutionPhase.BEFORE_TEST_METHOD,scripts="classpath:/integration-tests/clear-tables.sql")
@AutoConfigureEmbeddedDatabase
class AccountControllerIntegrationSpec extends Specification
{
.....
}

我有两个个人资料。目的是积极使用注释集:

@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Sql(executionPhase= Sql.ExecutionPhase.BEFORE_TEST_METHOD,scripts="classpath:/integration-tests/clear-tables.sql")

当我运行docker-test个人资料时。 运行配置文件test时,我只想使用@AutoConfigureEmbeddedDatabase (postgress embedded database for tests)

个人资料test-docker应该使用其他容器中的真实数据库。

在计算机上本地运行测试时,配置文件test应该使用嵌入式数据库Postgress。

如何在启动Spring期间进行配置以选择databaseSource? 当每次即使Test-docker配置文件处于活动状态时,仅当Embedded Postgres处于活动状态时,都添加两个注解时,我尝试为嵌入式Postgres设置依赖项范围,而对嵌入式Postgres的配置文件设置有所不同。但这没有帮助。

0 个答案:

没有答案
相关问题