gpt4 book ai didi

java - JUnit+Mockito 或 RestAssured

转载 作者:行者123 更新时间:2023-12-02 00:26:46 24 4
gpt4 key购买 nike

请帮助我选择正确的方法来测试 REST API (Java)。

我在之前的项目中使用过 JUnit 和 Mockito,我知道这需要大量时间/努力才能获得足够的代码覆盖率。但最近我开始了解 Rest-Assured,它似乎很有希望。请根据您的经验提出建议。

最佳答案

本例中的 JUnit 是一个运行器。这个问题实际上是关于单元测试和集成测试之间的区别,两者都可以使用 JUnit 作为周围执行框架来实现。

您可以使用多种框架组合。一些常见的:

  • 用于单元测试的 JUnit + mockito - 您的 REST API Controller bean 连接到轻量级/模拟依赖项,您通过 JAVA 执行 API
  • 用于集成测试的 JUnit + Cucumber + RESTAssured - 在这里您编写一个测试夹具,期望针对正在运行的服务器执行以测试其 API

这些极端之间也有一些点。您必须决定您的测试在测试金字塔上的位置。对于高度排列的测试,您将需要编写单元测试以便能够轻松实现排列并获得执行速度。如果您真的想冒烟测试您的 API 是否可用,并且已经对它们进行了单元测试,那么您将需要编写少量集成测试。

在频谱的各个点之间,有 mockito + 服务的 native 测试库的组合。例如,在 Spring 中有 SpringTest,在 Jersey 中有 JerseyTest/Grizzly 框架。在这些情况下,将建立一个非真实的 http 服务器来托管您的 REST 服务,您可以通过框架的客户端通过模拟 REST 调用对其进行测试。该单元测试 HTTP 编码层以及第一层 REST Controller 代码。

关于java - JUnit+Mockito 或 RestAssured,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53533747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com