您好我正在尝试nock library,但我正在努力匹配查询字符串上的随机模式。我认为下面的代码应该可以工作,但我无法工作。
var nock, request;
request = require('request');
nock = require('nock');
nock("http://www.google.com").filteringPath(/.*/g).get("/").reply(200, "this should work?");
request("http://www.google.com?value=bob", function(err, res, body) {
return console.log(body);
});
答案 0 :(得分:19)
我之前没有使用过这个,但是从阅读docs开始可能会有所帮助。
这样的事情怎么样:
var nock = require('nock');
var request = require ('request');
nock("http://www.google.com")
.filteringPath(function(path){
return '/';
})
.get("/")
.reply(200, "this should work?");
request("http://www.google.com?value=bob", function(err, res, body) {
return console.log(body);
});
答案 1 :(得分:5)
只是为了完成thtsigma的回答:
如果您想匹配任何范围(协议,域和端口),您还可以添加Scope filtering
var nock = require('nock');
var request = require ('request');
nock("http://www.whatever-here.com", {
filteringScope: function(scope) {
return true;
}
})
.filteringPath(function(path){
return "/";
})
.get("/")
.reply(200, "this should work?");
request("http://www.google.com?value=bob", function(err, res, body) {
return console.log(body);
});
这样,任何网址都会匹配。
答案 2 :(得分:0)
我们也可以使用regexp
stdin