如何在Spring Boot 1.4.0中为@DataJpaTest排除/禁用特定的自动配置?

LAC*_*LAC 14 spring unit-testing spring-data-jpa

我正在使用Spring的@DataJpaTest进行测试,然后将H2用作内存数据库,如此处所述.我也在使用Flyway进行制作.但是一旦测试开始,FLyway就会启动并读取SQL文件.我如何排除FlywayAutoConfiguration,并按照Spring文档中的描述保留其余内容,以便让Hibernate为我创建H2中的表?

@RunWith(SpringRunner.class)
@DataJpaTest
public class MyRepositoryTest {

    @Autowired
    private TestEntityManager entityManager;

    @Autowired
    private MyRepository triggerRepository;
}
Run Code Online (Sandbox Code Playgroud)

小智 5

你试过@OverrideAutoConfiguration注释吗?它说"可以用来覆盖@EnableAutoConfiguration".我假设从那里你可以以某种方式排除FlywayAutoConfiguration 这样:

@EnableAutoConfiguration(exclude=FlywayAutoConfiguration.class)
Run Code Online (Sandbox Code Playgroud)