Spring boot 如何为集成测试禁用Javer?

Spring boot 如何为集成测试禁用Javer?,spring-boot,spring-data-rest,javers,Spring Boot,Spring Data Rest,Javers,我使用的是Javers 3.11.2和Spring Boot 1.5.17。当我试图在嵌入式数据库上运行集成测试时,我仍然看到每次都在创建Javers表 有没有一种方法可以在这些测试期间禁用JAVER,这样就不会每次都创建这些表?免责声明:我从未使用过JAVER 一般来说,禁用“集成测试”中的某些内容意味着您不想加载一些bean(在本例中为javer) 这意味着您必须将它们从spring boot使用的配置列表中排除 如果您使用的是javers自动配置模块,它必须在自己的“spring.fact

我使用的是Javers 3.11.2和Spring Boot 1.5.17。当我试图在嵌入式数据库上运行集成测试时,我仍然看到每次都在创建Javers表


有没有一种方法可以在这些测试期间禁用JAVER,这样就不会每次都创建这些表?

免责声明:我从未使用过JAVER

一般来说,禁用“集成测试”中的某些内容意味着您不想加载一些bean(在本例中为javer)

这意味着您必须将它们从spring boot使用的配置列表中排除

如果您使用的是javers自动配置模块,它必须在自己的“spring.factories”文件(可以在jar中找到)中提供一个用于自动配置的文件

找到它的java代码,看看它是否有一些“@Conditional on something(property beans,等等)”,如果它已经创建了一个集成测试的概要文件,该概要文件将以一种在javers中Conditional不会通过的方式配置bean,并且结果不会创建bean

如果它没有这样的条件,那么您必须排除整个配置。它通常可以通过注释
@springbootplication(exclude=


但是,这也会在生产使用时关闭它,这显然不是您想要的。因此,对于“生产”配置文件,您必须将其作为常规配置(而不是自动配置)导入,对于集成测试配置文件,您不需要它。

有一种简单的方法,即:

javers:
  sqlSchemaManagementEnabled: false
应用程序测试.yml
中。请参阅