2

我正在尝试模拟条带化请求,但我遇到了困难。我在我的摩卡describe块顶部做一些简单的事情,看起来像

describe('Billing call', function(){
  var api = Nock('https://api.stripe.com').log(console.log);
  // ... down here there's a call that uses a stripe api
});

只是看看它是否拦截了任何东西。但事实并非如此。我在任何地方都找不到这样的例子,而且我担心 Nock 不支持它,在这种情况下我需要找到一个更好的工具。

谁能帮我解决这个问题?

谢谢!

4

1 回答 1

2

Nock 当然支持 HTTPS 调用,来自他们的文档

默认情况下,nock 假定 HTTP。如果您需要使用 HTTPS,您可以像这样指定 https:// 前缀:

var scope = nock('https://secure.my.server.com')
   // ...

你的诺克代码看起来不对劲。首先,既然你说你在任何地方都找不到任何示例,我建议你在 PluralSight 上查看这个测试视频,第 4 个模块实际上经历了与 Stripe 交互的过程。

要在 Stripe 中存根客户创建,您可以这样做:

var stripeNock = nock("https://api.stripe.com/v1")
                .post("/customers")
                .reply(200, {
                     //Mock Stripe Response
                }

只需插入那段代码应该会导致对 Stripe 的所有其他调用返回 404。如果您插入该代码并在其他任何地方获得 404(或您为创建客户而模拟的 Stripe 响应),您就会知道 Nock 正在工作。

于 2015-09-20T21:04:57.413 回答