您好,我正在试用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);
});发布于 2013-02-04 12:55:20
我以前没有用过这个,但从阅读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);
});发布于 2016-10-06 17:28:52
为了完成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);
});有了这个,任何url都将被匹配。
发布于 2019-05-09 14:32:09
我们也可以使用regexp
nock("http://www.google.com")
.get(/.*/)https://stackoverflow.com/questions/14678580
复制相似问题