【问题标题】:Intercept (mock) http requests on Node.js and browser在 Node.js 和浏览器上拦截(模拟)http 请求
【发布时间】:2015-02-27 08:26:23
【问题描述】:

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

我正在为 API 构建客户端,它必须同时在服务器和浏览器上运行。 Nock 很棒,但仅适用于 Node(因为它不适用于 Browserify,我试过了)。

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

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

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

【问题讨论】:

    标签: javascript node.js unit-testing browser


    【解决方案1】:

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

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

    原来他们为此使用了Zuul

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多