【发布时间】:2016-06-30 02:28:08
【问题描述】:
我正在尝试使用 liquibase 设置数据库架构和一些测试数据以进行一些测试。每个测试都有一个单独的更改日志,用于设置架构和测试的一些特定数据。
为了使我的测试正常工作,我需要在每次测试之前删除架构并用新的测试数据填充它。但是,这似乎不起作用,因为某些测试失败了,因为旧的测试数据仍然可用。我认为我的配置不正确。如何在每次测试之前强制 liquibase 删除架构?
我的测试如下:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MyTestConfig.class)
@TestPropertySource(properties = "liquibase.change-log=classpath:changelog/schema-with-testdata.xml")
public class MyRepositoryTest {
测试配置如下:
@SpringApplicationConfiguration
@Configuration
@EnableAutoConfiguration
@ComponentScan("com.mypackage")
@EntityScan(basePackages = { "com.mypackage.domain" })
@EnableJpaRepositories(basePackages = { "com.mypackage.domain", "com.mypackage.infra.persistence" })
public class MyTestConfig {
而src/main/test/resources下的application.properties是
liquibase.drop-first=true
spring.jpa.hibernate.ddl-auto=none
【问题讨论】:
-
我遇到了同样的问题并在这里发布了我的答案:stackoverflow.com/questions/40210247/…
标签: java spring spring-boot liquibase