【问题标题】:Testing Spring Boot REST API测试 Spring Boot REST API
【发布时间】:2023-03-25 04:05:01
【问题描述】:

使用 JUnit 测试 Spring Boot Rest API 的最佳实践是什么?使用com.jayway.restassured.* api 还是org.springframework.boot.test.* api?

任何已知的优势或劣势?

【问题讨论】:

  • “最佳方法”有点主观。他们之间有什么顾虑?尝试在每个中编写一个测试,看看哪个执行/编写更好。
  • 我想说的是行业惯例
  • 我在一个项目中使用 RestAssured 并且很喜欢它。在选择之前都尝试了一下,感觉 RestAssured 更方便,更接近真实场景。

标签: java spring rest junit spring-boot


【解决方案1】:

您也可以使用 gherkin/cucumber 来测试您的 api => https://github.com/RedFroggy/spring-cucumber-rest-api

【讨论】:

    【解决方案2】:

    如果您使用的 Spring Boot 版本高于1.4.0 RC1,则模块 - spring-boot-test 将自动添加到您的依赖项中。

    Spring 已经为利用 spring-boot-test 模块编写集成测试提供了强大的支持。

    所以我建议你只使用 Spring 框架的原生 API 进行测试。

    【讨论】:

      【解决方案3】:

      Spring 的测试速度更快,因为它不需要启动 servlet 容器。

      REST-Assured 速度较慢,但​​它会完全测试您的应用程序,包括 servlet 容器配置(例如过滤器链)。

      我更喜欢使用 spring-test 对控制器进行单元测试,并在已部署的版本上进行完整的功能回归测试(使用其他工具),作为我夜间构建的最后一步。

      【讨论】:

      • 由于我使用的是spring boot,所以也不需要为Rest-Assured启动一个servlet容器
      • 嗯,你不需要手动启动它,但它仍然使用 Spring Boot 的嵌入式 servlet 容器,需要一些时间来启动
      猜你喜欢
      • 2017-04-23
      • 2017-11-02
      • 2019-08-24
      • 2019-07-18
      • 2016-11-28
      • 1970-01-01
      • 2022-01-25
      • 2016-11-30
      • 2019-05-26
      相关资源
      最近更新 更多