【发布时间】:2020-09-23 04:11:44
【问题描述】:
我想测试我的 React 应用并模拟后端调用。我决定用一个返回常量的 Jest 函数替换 fetch。
问题是我无法覆盖默认提取值。我用谷歌搜索了一堆,发现 global.fetch = ... 覆盖了 fetch 但我不确定 global 是什么意思。我试着在我的测试文件中写var fetch = ...,但没有工作,尽管组件在组件的范围内。
我很高兴听到模拟 fetch 的替代解决方案。
// Does not work
import component that fetches
test(...){
var fetch = ...
<component that fetches/>
}
// Works
import component that fetches
test(...){
global.fetch = ...
<component that fetches/>
}
【问题讨论】:
-
@ShubhamSrivastava 你知道全局是什么意思吗?
-
我不是专家,但似乎 global 是一个对象,而 global.fetch 是为 global 声明的函数,这意味着它在技术上不会覆盖以前的定义
-
global.fetch 肯定会覆盖 fetch。
标签: javascript reactjs jestjs