gpt4 book ai didi

reactjs - jest.fn 在调用时返回 undefined

转载 作者:行者123 更新时间:2023-12-04 12:35:43 24 4
gpt4 key购买 nike

我正在尝试在我的测试中实现一个 fetch 模拟功能。按照教程,我试图通过使用 jest.fn() 来做到这一点:

const fetchFunction = jest.fn(() => {
return null
})
由于某种原因,这不起作用。
如果我只是做 console.log(fetchFunction)在我的测试中,我得到:
[Function: mockConstructor] {
_isMockFunction: true,
getMockImplementation: [Function],
mock: [Getter/Setter],
mockClear: [Function],
mockReset: [Function],
mockRestore: [Function],
mockReturnValueOnce: [Function],
mockResolvedValueOnce: [Function],
mockRejectedValueOnce: [Function],
mockReturnValue: [Function],
mockResolvedValue: [Function],
mockRejectedValue: [Function],
mockImplementationOnce: [Function],
mockImplementation: [Function],
mockReturnThis: [Function],
mockName: [Function],
getMockName: [Function]
}
但是,如果我尝试通过 console.log(fetchFunction()) 调用它我得到 undefined ?
我正在尝试在 create-react-app 文件夹中执行此操作。我必须安装一些额外的东西吗?关于为什么会发生这种情况的任何想法?

最佳答案

这是因为 Create-React-App 有 resetMocks默认开启。要关闭它,你可以把它放在你的 package.json 中

"jest": {
"resetMocks": false
}
他们在 4.0 版本中改变了这一点。他们确实在他们的更新日志中提到了它 https://github.com/facebook/create-react-app/blob/master/CHANGELOG.md#400-2020-10-23但我想我并不是唯一一个错过/不知道这一点的人......
有一个关于恢复该更改的未决问题: https://github.com/facebook/create-react-app/issues/9935

关于reactjs - jest.fn 在调用时返回 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65092376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com