Java 不同数据库环境下的Spring boot集成测试
我有一组Junit测试用例。所有测试用例都必须针对不同的数据库环境执行。在junit测试中使用“@RunWith(SpringJUnit4ClassRunner.class)”时,spring引导应用程序只启动一次。但我需要使用不同的配置重新启动应用程序,包括flyway迁移和其他与环境相关的应用程序-.properties来运行测试。我也尝试过使用参数化测试。在这种情况下,spring应用程序只启动一次。有没有办法做到这一点?听起来您需要在测试中使用这些注释:Java 不同数据库环境下的Spring boot集成测试,java,spring-boot,integration-testing,junit4,functional-testing,Java,Spring Boot,Integration Testing,Junit4,Functional Testing,我有一组Junit测试用例。所有测试用例都必须针对不同的数据库环境执行。在junit测试中使用“@RunWith(SpringJUnit4ClassRunner.class)”时,spring引导应用程序只启动一次。但我需要使用不同的配置重新启动应用程序,包括flyway迁移和其他与环境相关的应用程序-.properties来运行测试。我也尝试过使用参数化测试。在这种情况下,spring应用程序只启动一次。有没有办法做到这一点?听起来您需要在测试中使用这些注释: @RunWith(SpringR
@RunWith(SpringRunner.class)
@SpringBootTest
@Import(MyTestsConfiguration.class)
有关更多详细信息,请参阅Spring Boot doco中的specific@Priya是否每次启动应用程序时都使用不同的类?添加前两个注释(以及第三个注释,如果您想覆盖默认配置,可以选择)应该是您需要做的全部事情。类文件对于所有环境都是相同的。在启动spring boot应用程序时,我将指定使用特定的配置文件进行加载。我建议您将测试拆分为单独的类,然后。一个类=应用程序的一次启动难道这不就像一次又一次地重复相同的测试用例吗