ホームページ  >  に質問  >  本文

モック Service Worker を使用して vue apollo をテストするにはどうすればよいですか?

合成機能をテストするためにモック Service Worker をセットアップしましたが、次のエラーが発生します: デフォルト ID の Apollo クライアントが見つかりません。コンポーネント setup. の外側にいる場合は、ProvideApolloClient() を使用します。

ProvideApolloClient を使用する必要があると考えましたが、それを検索に貼り付けても何も表示されません。

ドキュメントでは、コンポーネントおよびシミュレーション モードでのデータの挿入が示されています (その部分はフェッチされません)。ただし、コンポーネントをテストする代わりに、カスタムで構成された関数 (フック) をテストし、それが useQuery と正しく対話することを確認しようとしています。

P粉696891871P粉696891871205日前356

全員に返信(1)返信します

  • P粉821274260

    P粉8212742602024-03-28 09:02:30

    表示されているエラー メッセージは、コンテキストから Apollo クライアントが見つからないため、Apollo が完全にレンダリングできないことを示していると思います。これは、ApolloProvider を使用せず、親として client を使用してコードを呼び出した場合に発生する可能性があります。フックをテストしている場合でも、Apollo のドキュメントに従って、Apollo のプロバイダーでラップされたフックをレンダリングし、client インスタンスを提供する必要があります。 React フック テスト ライブラリがこれを行うことをどのように提案しているかを確認してください。

    これは、@testing-library/react-hooks :

    の使用をお勧めする例です。 リーリー

    これが Vue に直接変換されないことはわかっていますが、Vue でフックをテストする別の方法があると確信しています。これがあなたに正しい方向へのインスピレーションを与えることを願っています。

    返事
    0
  • キャンセル返事