gpt4 book ai didi

java - Spring:如何针对多个数据源测试同一个类?

转载 作者:行者123 更新时间:2023-12-02 04:54:55 25 4
gpt4 key购买 nike

考虑这个例子

@Test
public TestMyProjectIntegration {

@Rule
public JpaRule jpaRule = new JpaRule(H2);

@Test
...
}
  • 我想在 localhost 中针对 H2 数据库运行我的集成测试,
  • 我想在 staging//Jenkins
  • 中针对 MySQL 数据库运行我的集成测试

我最初想到使用 Spring Profiles并使用 spring.profiles.active=developmentspring.profiles.active=staging 我可以控制,但是

由于我将 JpaRule 硬编码为 H2,所以我不知道如何在 spring 时将此属性更改为 MySQL。 profiles.active 更改

问题
Spring 推荐的在测试期间指向不同数据库的方法是什么?

最佳答案

您可以使用传递数据库详细信息的系统属性调用测试,例如 -Dtest.database=H2 并在从 jenkins 调用测试时更改值

@Rule
public JpaRule jpaRule = new JpaRule(System.getProperty("test.database"));

关于java - Spring:如何针对多个数据源测试同一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23850148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com