首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用集成测试的Javers?

如何禁用集成测试的Javers?
EN

Stack Overflow用户
提问于 2018-11-04 12:35:38
回答 2查看 1.1K关注 0票数 2

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

有没有办法在这些测试期间禁用Javers,这样就不会每次都创建这些表?

EN

回答 2

Stack Overflow用户

发布于 2018-11-10 07:58:07

有一种简单的方法,放入:

代码语言:javascript
复制
javers:
  sqlSchemaManagementEnabled: false

在你的application-test.yml里。请参阅https://javers.org/documentation/spring-boot-integration/

票数 2
EN

Stack Overflow用户

发布于 2018-11-04 13:08:21

免责声明:我从未使用过Javers。

一般来说,在“集成测试”中禁用某些东西意味着您不想加载一些bean(在本例中是Javers )。

这意味着,反过来,您必须将它们排除在spring boot使用的配置列表之外。

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

找到它的java代码,看看它是否有一些"@Conditional on某些东西(属性bean等)“。如果已经通过,则为集成测试创建一个配置文件,该配置文件将以javers中的条件无法通过的方式配置bean,因此不会创建bean

如果它没有这样的条件,你将不得不排除整个配置。它通常可以通过注释@SpringBootApplication(exclude=<JaversAutoconfiguration goes here>来完成

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53137774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档