我发现极其稀缺的关于在Spring Boot中使用主生产数据库和测试in-mem数据库进行典型设置的所有信息。如何在不使用配置文件的情况下为测试重写Spring Boot应用程序属性?
有没有约定检验性能,在测试application.properties覆盖那些在主显着,而且也像application-test.properties没有回退机制 - > application.properties。我不想使用配置文件,因为我希望他们严格定义环境,这是另一个维度(本地,生产),而且我需要笛卡尔产品主要本地,测试本地,主要生产,测试-production ..
所以我会让Spring为我做魔术,因此我在我的RepositoryTest上设置了@DataJpaTest注解。 Spring肯定会创建H2 db,但我没有找到设置自定义模式或启用H2控制台的方法,因为application.properties被忽略。
它是如何处理这个最标准的方法?
P.S.我认为简单的方法是通过@SpringBootTest(properties = { "h2.console.enabled: true", "h2.console.path: /myconsole" })
覆盖我的测试中的属性,但是我无法找到@DataJpaTest绑定它们的方法
H2控制台需要一个在DataJpaTest中不可用的Web环境。为什么要在短暂的内存数据库中设置自定义模式? –
为了方便调试所有数据库的工作 – Whimusical
在春天注册bean的传统方式是调用org.h2.server,我不知道为什么要配置webenv,我从不需要它在预启动弹簧 – Whimusical