当前位置: 首页 > 知识库问答 >
问题:

TestRestTemplate vs WebTestClient vs Restared:集成测试Spring Boot Rest API的最佳方法是什么

全流觞
2023-03-14

在以下3个API中,哪一个是最有效的Spring Boot Rest API(非反应性)集成测试:

  1. 确保增量版本与Spring Boot兼容。
  2. 易于使用和广泛的断言,用于检查状态代码、标头、JSON/XML有效负载验证、响应时间等。
  3. 有可能测试Spring容器配置。
  4. 在所有endpoint上重用特定检查的功能。
  5. 是最稳定的,因此是行业惯例。

在某种程度上,阻止其中一人被标记为明确获胜者的初步发现很少有:

>

  • 测试模板

    WebTestClient(一个Fluent API)与TestRestTemboard相比,似乎有很好的和易于使用的语法,但它是非常新的,并且没有足够的例子表明它对非反应性Rest API的使用和广泛断言API的可用性

    RestTemplate(TestRestTemplate所基于的API)将在未来的Spring Boot版本中被弃用。

    经验丰富的开发人员的反馈将是一个很大的帮助。

  • 共有1个答案

    巫马英豪
    2023-03-14

    我选择了WebTestClient,对此我很满意。正如您所写,WebTestClient是内置的Spring Boot,所以这就是我开始使用WebTestClient的主要原因,因为如果我有现成的很好的解决方案,我不想再添加一个依赖项。不管你的应用程序是被动的还是被动的,你都可以使用WebTestClient。它支持JSONPath。我也有使用TestRestTemplate的经验,但我认为WebTestClient要好得多。

     类似资料:
    • 问题内容: 我想过滤java.util.Collection基于谓词的。 问题答案: Java 8(2014)在一行代码中使用流和lambda解决了此问题: 这是一个教程。 使用修改收集到位。(注意:在这种情况下,谓词将删除满足该谓词的对象): 允许过滤集合而无需编写循环或内部类: 你能想象一些更具可读性的东西吗?

    • 问题内容: 是否可以集成Python和JavaScript?例如,假设您希望能够在JavaScript中定义类并从Python使用它们(反之亦然)。如果是这样,最好的方法是什么?我不仅对这是否可行而且对是否 有人在“严肃的”项目或产品中做到了 感兴趣。 我想举个例子,可以使用Jython和Rhino,但我很好奇是否有人真正做到了这一点,以及是否有针对其他平台的解决方案(尤其是CPython)。 问

    • 问题内容: 集成erlang和python的最佳方法是什么? 我们需要在erlang中调用python函数,并在python中调用erlang函数。目前,我们正在尝试将SOAP用作这两种语言之间的中间层,但是我们有很多“不兼容”的麻烦。您能否建议执行集成的最佳方法? 问题答案: 如erlport所述,您可以在Erlang端使用Erlang端口协议和term_to_binary / binary_t

    • 问题内容: 哪种方法最适合(更理想的)用于测试非空字符串(在Go中)? 要么: 或者是其他东西? 问题答案: Go的标准库中都使用了这两种样式。 可以在以下软件包中找到:http : //golang.org/src/pkg/strconv/atoi.go 可以在以下包中找到:http : //golang.org/src/pkg/encoding/json/encode.go 两者都是惯用的,而

    • 问题内容: 有没有可靠的方法来检测用户是否在jQuery中使用移动设备?类似于CSS @media属性吗?如果浏览器在手持设备上,我想运行其他脚本。 jQuery 函数不是我想要的。 问题答案: 编者注: 对于现代Web应用程序,不建议使用用户代理检测技术。请参阅此答案下方的评论以确认这一事实。建议使用特征检测和/或媒体查询来使用其他答案之一。 除了使用jQuery,您还可以使用简单的JavaSc

    • 对于测试非空字符串(在Go中),哪种方法是最好的(更idomatic)?