【问题标题】:How to do an integration test for a Spring Boot application?如何对 Spring Boot 应用程序进行集成测试?
【发布时间】:2020-07-06 07:55:48
【问题描述】:

TLDR:您应该测试编译的 JAR 还是编写 @Test 方法来运行主类就足够了?

我有一个与其他几个服务集成的 Spring Boot 服务。

目前,为了测试服务之间的集成,我在一个暂存环境中运行编译后的 JAR,同时模拟其他服务。

运行已编译的 JAR 是否比运行运行主应用程序和模拟(例如使用 Mockito)其他服务的单元测试有好处?

或者,我是否需要这两种功能?

【问题讨论】:

  • 嘿,您的问题非常广泛,基于意见,并且在不了解您的项目的情况下很难回答。另外,对于什么是集成测试、什么是单元测试等,每个人都有自己的看法。我建议你自己做研究,然后回到一个具体的问题而不是一个广泛的问题

标签: java spring-boot testing continuous-integration integration-testing


【解决方案1】:

您很可能两者都需要。这是微服务测试策略的绝佳指南 https://martinfowler.com/articles/microservice-testing/

单元测试仅测试应用程序的特定部分,并模拟内部应用程序的其他部分。这些可以作为 CI/CD 管道的一部分运行。

您还需要使用外部系统的模拟在您的代码库中运行集成测试。这些可以作为管道的一部分运行并使用您提到的测试注释。只要与外部系统的合同正确,这些将确保您的应用程序正常运行。

然后,您可能还想使用调用您的 API 的外部工具对正在运行的应用程序进行一些运行时冒烟测试。

【讨论】:

    猜你喜欢
    • 2018-02-01
    • 2016-07-01
    • 2015-10-12
    • 2020-04-25
    • 1970-01-01
    • 2020-07-24
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多