There is some problem with testing code
Iezuni opened this issue · 3 comments
When I use fetch('someUrl')
in my code, the jest will report a bug like ReferenceError: fetch is not defined
. How can I solve this problem?
Local tests run in node. Node does not implement the fetch api.
There are a number of packages for mocking the fetch api, jest-fetch-mock has typescipt definitions https://www.npmjs.com/package/jest-fetch-mock#to-setup-for-an-individual-test
Here's an example basic usage
https://github.com/cloudflare/worker-typescript-template/tree/example-jest-fetch-mock
Miniflare is a good replacement for the existing mock. It actually simulates fetch properly.
Example (haven't extracted it back for the PR yet): https://github.com/nelsonjchen/gtr-proxy/tree/snapshot-miniflare-replacement
Oh someone beat me to it by 5 days.