Я использую cucumber + cucumber-spring 4.1 для тестирования приложения SpringBoot 2.1.Это имеет сценарии, которые требуют откат базы данных между каждым сценарием, но на всю жизнь я не могу заставить его работать.
Я пробовал:
Базовый класс с несколькими аннотациями
`
@Transactional
@RunWith(SpringRunner.class)
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
public abstract class SpringBootBaseIntegrationTest { .. } `
Классы Stepdef, такие как:
`
@ContextConfiguration(classes = {Application.class})
@Ignore
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
@Transactional
public class DatabaseSteps extends SpringBootBaseIntegrationTest implements En { ... }
`
Особенности и сценарии снабжены комментариями @txn и добавлен клей 'cucumber.api.spring'
.
В моем приложении:
`
@EnableJms
@EnableJpaRepositories
@EnableTransactionManagement
@SpringBootApplication
@PropertySource(ignoreResourceNotFound = false, value = "classpath:application.properties")
class Application implements CommandLineRunner { ... }
`
и я использую стандартные репозитории JPA.
Мои application.properties:
`
spring.jpa.properties.hibernate.jdbc.time_zone=UTC
spring.datasource.initialization-mode=always
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.generate_statistics=false
spring.jpa.properties.hibernate.show_sql=false
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
#spring.h2.console.enabled=true
`
но что бы я ни делал, в любой комбинации данные по-прежнему остаются между тестами.
Может ли кто-нибудь пролить свет или управлять рабочей установкой?
Приветствия