【问题标题】:Consume the REST API of another Spring Boot project locally在本地使用另一个 Spring Boot 项目的 REST API
【发布时间】:2022-01-27 01:49:13
【问题描述】:

我正在构建一个微服务架构,其中包含不同的 Spring Boot 项目和每个项目的两个不同的存储库:

  • 一个应用程序被称为project-api-1
  • 另一个project-api-2

现在,在 project-api-2 的 JUnit 测试中,我需要测试一些需要对 project-api-1 公开的 API 进行 REST 调用的功能。

有没有办法将这些项目链接在一起以进行测试,这样当我为 project-api-2 运行测试时,我也可以在运行时启动 project-api-1 应用程序,而无需创建模拟 API project-api-1project-api-2 内从零开始?

这里的最佳做法是什么?

【问题讨论】:

  • 可能使用 testcontainer 启动项目 1 或使用合约驱动测试进行测试

标签: spring-boot rest testing junit


【解决方案1】:

我最终通过运行一个多模块 Maven 项目并使用 <scope>test</scope> 导入 REST API 项目来解决这个问题。

在我的测试中,然后我启动 Spring Boot 应用程序:

new SpringApplicationBuilder(RestApplication.class)
  .profiles("test")
  .run();

【讨论】:

    猜你喜欢
    • 2020-08-23
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2018-04-08
    • 1970-01-01
    • 2020-07-17
    • 2019-04-20
    相关资源
    最近更新 更多