问题描述
我在 node-fetch
中设置了 jest.setup.js
,如下所示:
jest.mock('node-fetch',() => {
const nodeFetch = jest.requireActual('node-fetch');
const fetchMock = require('fetch-mock').sandBox();
Object.assign(fetchMock.config,{
fetch: nodeFetch,});
return fetchMock;
})
如下所述:http://www.wheresrhys.co.uk/fetch-mock/#usageusage-with-jest
我正在编写一些测试,并有一个实例,仅出于在调试测试时检索一些数据的目的,我希望调用进入网络并发出真正的请求。我已经看到了 fetch-mock
的 spy()
方法,我认为这是我想要的:http://www.wheresrhys.co.uk/fetch-mock/#api-mockingspy
但无论它如何配置,我都无法让它通过。 fetch-mock
一直抱怨它有一个不匹配的 GET
,即使匹配是正确的。
为了测试这个目的,我尝试了一个简单的 spy()
到 Google,即使这样也不起作用。
//test.js
fetchMock.spy('https://www.google.ca');
.
.
.
//mycode.js
const response = await fetch('https://www.google.ca',{method: 'GET'});
const google = await response.text();
当不使用 fetch-mock
时,上面的代码返回我所期望的。
编辑:
我应该补充一点,我尝试将 fallbackToNetwork: <true/false>
添加到 Object.assign
调用中,但无济于事。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)