programing

스프링 부트:단위시험에서 액화효소로 시험데이터를 설정하는 방법

newstyles 2023. 3. 15. 19:27

스프링 부트:단위시험에서 액화효소로 시험데이터를 설정하는 방법

데이터베이스 스키마와 일부 테스트 데이터를 리퀴베이스로 설정하려고 합니다.각 테스트에는 스키마와 테스트용 특정 데이터를 설정하는 별도의 변경 로그가 있습니다.

테스트를 제대로 수행하기 위해서는 각 테스트 전에 스키마를 드롭하고 새로운 테스트 데이터로 채워야 합니다.그러나 이전 테스트 데이터를 사용할 수 있기 때문에 일부 테스트가 실패했기 때문에 이 방법은 작동하지 않는 것으로 보입니다.내 구성에 뭔가 문제가 있는 것 같아.각 테스트 전에 액화효소를 강제로 떨어뜨리려면 어떻게 해야 하나요?

테스트 내용은 다음과 같습니다.

@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

이 있습니다.spring.liquibase.dropFirstconfig 속성.이게 당신이 찾고 있는 건가요?

이것이 당신의 질문에 완전히 답할 수 있을지 모르겠습니다.다른 속성 likibase.default-schema="NameToCreate"가 있습니다.

하지만 그렇다고 처음부터 스키마를 만들 수는 없었습니다.

언급URL : https://stackoverflow.com/questions/35997898/spring-boot-how-to-setup-test-data-with-liquibase-in-unit-test