【问题标题】:Spring boot Integration test with different database environmetsSpring boot 不同数据库环境的集成测试
【发布时间】:2018-03-22 13:33:45
【问题描述】:

我有一组 Junit 测试用例。所有测试用例都必须针对不同的数据库环境执行。在 junit 测试中使用 '@RunWith(SpringJUnit4ClassRunner.class)' 时,spring boot 应用程序只启动一次。但是我需要使用不同的配置重新启动应用程序,包括 flyway 迁移和其他与环境相关的 application-.properties 来运行测试。我也尝试过使用参数化测试。在这种情况下,spring 应用程序也只启动一次。有什么方法可以实现吗?

【问题讨论】:

    标签: java spring-boot integration-testing junit4 functional-testing


    【解决方案1】:

    听起来您需要在测试中使用这些注释:

    @RunWith(SpringRunner.class)
    @SpringBootTest
    @Import(MyTestsConfiguration.class)
    

    更多详情请参考 Spring Boot 文档中的this page

    【讨论】:

    • 你能说得更具体些吗
    • @Priya 您是否在每次希望应用程序启动时使用不同的类?添加前两个注释(以及第三个,可选,如果您想覆盖默认配置)应该是您需要做的所有事情。
    • 其实我不是每次都跑不同的班级。类文件对于所有环境都是相同的。在启动 spring boot 应用程序时,我将指定使用特定的配置文件来加载。
    • 我建议您将测试拆分为单独的类。一个 class= 一个应用程序的启动
    • 不会像一次又一次地复制相同的测试用例
    猜你喜欢
    • 2021-04-09
    • 1970-01-01
    • 2019-11-01
    • 2021-06-01
    • 1970-01-01
    • 2018-11-27
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多