gpt4 book ai didi

json - 单元测试 REST API

转载 作者:行者123 更新时间:2023-12-04 08:37:09 27 4
gpt4 key购买 nike

我有一些单元测试和模拟的经验。在我有限的经验中,我会使用这两者来测试服务层,例如,模拟( stub ?)数据库以消除依赖关系并专注于对业务逻辑进行单元测试。

现在我正在创建一个使用 RESTful Web 服务的包装 API 实现。发回给我的 json 结果结构不在我的手中,例如:Twitter。我只是在构建客户端以与他们的 api 交互。我不确定如何对 json 结果进行单元测试。现在我只是用静态 json 结构模拟 http 请求的结果。这可以确保将 json 反序列化到我的 pojos 是正确的,但我担心 API 更改。如果api结构发生变化怎么办?如果 api 当前返回“title”今天和“groovy_title”明天怎么办?我的单元测试不会捕捉到这一点。

但据我了解 - 单元测试应该很快。以前我会模拟数据库,现在我在模拟 http,但我是否应该使用具体的 http 实现,以便立即通知我有重大的 api 更改?或者有没有更好的方法来处理这种情况?

最佳答案

我会继续做你正在做的事情并模拟你的代码和外部 API 之间的接口(interface)。正如您所指出的,这不会检测到外部 API 中的更改。

您可以编写实际转到外部服务器的集成测试来测试 API 更改。我怀疑您已将进行交互的代码分离到自己的服务器/模块中,因此您可以从字面上 ping 外部 API,而不会被应用程序中超过 1 个抽象层所阻碍。

请注意,您可以在不使用应用代码的情况下构建这些测试;即只是 wget 或 curl 并对结果进行一些分析......

这方面的问题很多。我的头顶上:

您需要网络连接
慢点
外部服务可能会暂时关闭——即失败可能意味着不同的事情。
等等

关于json - 单元测试 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9440663/

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