cloudflare/worker-typescript-template

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

#58

Oh someone beat me to it by 5 days.