gpt4 book ai didi

javascript - 在 Node.js 和浏览器上拦截(模拟)http 请求

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:35 24 4
gpt4 key购买 nike

我不知道我是否要求太多,但我想要一个库以同构/渐进的方式拦截/模拟 HTTP 请求(即在 Node.js 和浏览器上工作相同)进行单元/行为测试。有这样的事吗?

我正在为 API 构建一个客户端,它必须在服务器和浏览器上都能工作。 Nock很棒,但仅适用于 Node(因为它不适用于 Browserify ,我尝试过)。

我可以模拟我将用于请求的库(例如 superagentrest )。然而,这会将我锁定在某个库中,并且需要对测试进行重大重构。

我的愿望是避免重复测试并尽可能避免对环境进行最多的检查。为了不知道实现,因此我需要模拟请求。

我几乎正在考虑自己制作一个(或者至少是两个库之间的粘合剂)。

最佳答案

我查看了如何superagent正在做他们的测试。他们构建了一个模拟 Express服务器以他们想要的方式响应并检查匹配。

但是这在浏览器上是如何工作的呢?

事实证明他们正在使用 Zuul为此。

Zuul 是一个创建临时服务器以在浏览器中运行测试的工具。它支持 qunit、mocha、tape 和其他一些测试框架。它还接受在测试期间运行的模拟服务器。它在 Sauce Labs 上运行测试,它有一个开源项目的免费计划。

这不是我期望的解决方案,但它是一个解决方案。

您可以查看my project查看正确的代码(到此答案时最后一次提交的树的永久链接)。

关于javascript - 在 Node.js 和浏览器上拦截(模拟)http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28734511/

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