我对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的配置文件设置有所不同。但这没有帮助。