2016-07-31 88 views
0

在我的测试中,我试图拦截由request/request发出的HTTP请求。但它不起作用。当我使用http.request()诺克完美。

这里是个例:NodeJS - Nock不拦截使用`request/request`模块发出的请求

it('A test case', function() { 
    nock('http://www.google.com') 
    .get('/') 
    .reply(200, { response: 'Hello from Nock!' }); 

    request('http://www.google.com/', function(err, res, body) { 
    console.log(body); // It displays the actual response :(
    }); 
}); 



任何见解?!

编辑:
毕竟,它代理的相关问题。

+0

您是如何为通过代理发出的请求设置测试的? – Kwhitejr

回答

0

您可以使用npm中的request-debug模块。

var request = require('request'); 

require('request-debug')(request); 

require('request-debug')(request, function(type, data, r) { 
    // put your request or response handling logic here 
}); 

在请求对象中应该是你的请求数据。

+0

也许我不清楚。我想'nock'拦截'request/request'模块发出的请求。 当我使用'http.request'时,'nock'很好地与'request/request'一起购买NOT。 – bboulahdid