Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Jest手动模拟检查默认导出功能_Javascript_Typescript_Jestjs_Fetch - Fatal编程技术网

Javascript 如何从Jest手动模拟检查默认导出功能

Javascript 如何从Jest手动模拟检查默认导出功能,javascript,typescript,jestjs,fetch,Javascript,Typescript,Jestjs,Fetch,以下用于Jest测试的同构fetch手动模拟文件返回预期值: /\uuuuu mocks\uuuu/isomorphic-fetch.ts 从“/requestData”导入*作为请求; const Fetch=(url:string,options:any):Promise同一个实现中Jest spy和常规模拟函数的行为可能不同的原因是Jest spy可以重置为不可操作 这正是在这个笑话设置中发生的情况: ... "resetMocks": true, "rest

以下用于Jest测试的
同构fetch
手动模拟文件返回预期值:

/\uuuuu mocks\uuuu/isomorphic-fetch.ts
从“/requestData”导入*作为请求;

const Fetch=(url:string,options:any):Promise

同一个实现中Jest spy和常规模拟函数的行为可能不同的原因是Jest spy可以重置为不可操作

这正是在这个笑话设置中发生的情况:

...
"resetMocks": true,
"restoreMocks": true,
...
restoreMocks
选项通常是可取的,它通过将spied方法重置为原始实现来防止测试交叉污染

resetMocks
通常是不受欢迎的,实际上是不可用的,它将可重用间谍从
\uuuuu mocks\uuuuu
重置为无操作实现


TL;DR:
resetMocks
configuration选项和
jest.resetAllMocks()
破坏可重用间谍的实现,通常应该避免。如果需要重置特定的spy,可以使用
mockReset
方法根据具体情况进行重置。

请使用spy实现更新问题,而不是使用
/…
和Jest配置。这个问题应该是完全可以理解的,而不必导航到任何时候都不可用的外部资源。@EstusFlask我已经添加了Jest配置,并澄清了省略的代码与上面的代码片段相同。谢谢,在
jest.config.js
中设置
resetMocks:false
后,可以按预期检查模拟参数。