在一个组件中,我向'/ api / somecall'发送了一个xhr请求
我正在尝试使用MochaJS模拟用于测试目的的HTTP请求。
我进入了nock,但第一个参数是域,由于我们在多个域上使用相同的应用程序,因此无法修复。
我想用一个location.href来模拟一个DOM,这样xhr会在Mocha的测试会话开始时以这种方式发送到一个特定的域,就像这样(我在Web中找到了这部分代码) :
// setup the simplest document possible
var doc = jsdom.jsdom('<!doctype html><html><body></body></html>', {url: "http://localhost"})
// get the window object out of the document
var win = doc.defaultView
// set globals for mocha that make access to document and window feel
// natural in the test environment
global.document = doc
global.window = win
// take all properties of the window object and also attach it to the
// mocha global object
propagateToGlobal(win)
// from mocha-jsdom https://github.com/rstacruz/mocha-jsdom/blob/master/index.js#L80
function propagateToGlobal (window) {
for (let key in window) {
if (!window.hasOwnProperty(key)) continue
if (key in global) continue
global[key] = window[key]
}
}
不幸的是,当我之后尝试这个时它仍然不起作用:
nock('http://localhost')
.get('/apv/v2/listings/' + county)
.reply(200, responseData)
所有测试都像以前一样返回请求tiemout。
我怎么可能让它起作用?
答案 0 :(得分:0)
由于某些原因,问题是路径添加非ASCII字符,因此使用正则表达式路径而不是plein字符串修复了问题。