我有这个函数来监视全局获取并返回一个值
const spy = jest.spyOn(global, 'fetch').mockResolvedValue({json: jest.fn().mockResolvedValue(user)})
我想知道调用此函数时会命中哪个API 路由。例如我想做:
console.log(spy.showFetchURL)
并让它返回
'http//:localhost/**user**'
用于调试目的
您可以像这样使用
.mockImplementation()
,例如:
jest.spyOn(global, 'fetch').mockImplementation((url) => {
switch (url) {
case 'https://example-1.com?param1=true¶m2=false':
return Promise.resolve({
status: 200,
json: () => Promise.resolve({
// mocked data object/array here
})
})
break
case 'https://example-2.com?param1=false¶m2=true¶m3=something':
return Promise.resolve({
status: 200,
json: () => Promise.resolve({
// mocked data object/array here
})
})
break
// ...etc
}
})