弹簧靴:如何在单元测试中使用液态设置测试数据
2022-09-01 19:33:31
我正在尝试设置数据库模式和一些测试数据与 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 下的应用程序属性是
liquibase.drop-first=true
spring.jpa.hibernate.ddl-auto=none