反応ネイティブではfetch
を使用してネットワークリクエストを実行しますが、fetch
は明示的に必須のモジュールではないため、 。Jestとの反応ネイティブでの模擬fetch()での単体テストAPI呼び出しの方法
ReferenceError: fetch is not defined
:はしても、テストで
fetch
を用いる方法がになります呼び出そう。
Jestとネイティブで反応するようなAPIリクエストをテストする方法はありますか?
反応ネイティブではfetch
を使用してネットワークリクエストを実行しますが、fetch
は明示的に必須のモジュールではないため、 。Jestとの反応ネイティブでの模擬fetch()での単体テストAPI呼び出しの方法
ReferenceError: fetch is not defined
:はしても、テストで
fetch
を用いる方法がになります呼び出そう。
Jestとネイティブで反応するようなAPIリクエストをテストする方法はありますか?
テストケース内には、冗談のモックを使って、あなたが望むすべての機能を模擬することができます
fetch = jest.fn(() => new Promise(resolve => resolve()));
このアプローチは、唯一の約束ベースのテストケースのために働く(冗談ドキュメントでpit
を参照してください)。
fetch
が非同期機能の場合は、pit
(すべて非同期テストhere)のすべてのテストを実行する必要があります。
独自のモックをローリングするのではなく、jest-fetch-mock npmパッケージを使用してグローバルフェッチオブジェクトをオーバーライドできます。このパッケージでは、偽の応答を設定し、送信された要求を確認することができます。幅広い使用例については、そのリンクを参照してください。
また、あなたのモックはJest特有である必要はありません。 [fetch-mock](http://www.wheresrhys.co.uk/fetch-mock/)は非常にいいAPIを持っていて、jest-fetch-mockよりもフル機能です。 – ArthurDenture
ありがとうございます! –
FYIプロミスを返すことで 'it'を使用できるようになりました。 –