我正在尝试模拟条纹请求,但是我很难受。我正在摩卡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不支持它,在这种情况下,我需要找到一个更好的工具。

谁能为我解决这个问题?

谢谢!

最佳答案

Nock当然支持documentation中的HTTPS调用:


  默认情况下,nock采用HTTP。如果需要使用HTTPS,则可以指定https://前缀,如下所示:


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


您的nock代码看起来不正确。首先,由于您说过在任何地方都找不到任何示例,因此我建议您在PluralSight上查看this测试视频,因此第4个模块确实经过了与Stripe接口的过程。

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

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


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

10-07 19:19