私は、componentDidMount
関数でいくつかのデータを取得するコンポーネントを持っています。データを取り出す関数はfetch-data.js
です。私はこのコンポーネントをテストしようとしており、取得したデータを疑似したい。このようなJestでwhatwg-fetchをテストするにはどうしたらよいですか?
...
node_modules
__mocks__
└── whatwg-fetch.js
...
私WHATWG-fetch.jsモックルックス::私は私のnode_modules
フォルダに隣接して、私の__mocks__
フォルダを持っているhttp://facebook.github.io/jest/docs/en/manual-mocks.html
:私はテストのためfetch
機能をからかっでこのリンクをたどるしようとしています
RUNS src/scenes/Home/Home.spec.js
myproject/node_modules/react-scripts/scripts/test.js:20
throw err;
^
TypeError: Network request failed
at XMLHttpRequest.xhr.onerror (/Local/Users/john/Documents/js/react/haiku/node_modules/whatwg-fetch/fetch.js:436:16)
:私はテストを実行するとき
const whatwgFetch = jest.genMockFromModule('whatwg-fetch');
whatwgFetch.fetch = (url) => jest.fn().mockImplementation(() => Promise.resolve({ ok: true }));
module.exports = whatwgFetch;
しかし、私はまだ、このエラーが出ます
問題のXHRリクエストは第三者には送信されませんが、違いがあればローカルURL(fetch('/my/local/file')
)です。
編集:コンポーネントテストに何もない場合でも同じエラーが発生します。すべてがMyComponent.spec.js
でコメントアウトされており、まだネットワークリクエストを試みているようです。誰でも知っている理由は?