問題タブ [react-testing-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1689 参照

reactjs - Jest - プロミスはモックでどのくらいの時間後に解決されますか?

私は axios get の実装を嘲笑している冗談のテストをしています。

コンポーネントをレンダリングすると、API 呼び出しが送信されます。

呼び出し時にスピナーが表示されることをテストする必要があります。呼び出しが完了した後、スピナーが消えることをテストする必要があります。

モック プロミスがいつ解決されるかを知るにはどうすればよいですか?

が呼び出されるまでにプロミスがまだ解決されていないことをどのように確認できますnot.toBeNullか?

注:私は反応テストライブラリを使用していますが、質問は一般的にモックプロミスの解決のタイミングに関連しています。

0 投票する
1 に答える
22027 参照

reactjs - react-testing-library を使用してテストするときに、手動で状態変更をトリガーできますか?

私はまだ Enzyme テストを react-testing-library に移行する過程にあり、コンポーネントがマウントされると、データを取得するために Ajax リクエストが開始されるというかなり一般的なシナリオがあります。フェッチが開始される直前に、ロード中であることを示す状態値が設定され、スピナーがレンダリングされます。完了すると、両方のデータで状態が更新され、必要に応じて "loadingState" が "Completed" または "Failed" に設定されます。

Enzyme を使用すると、状態をキーのいずれかに手動で設定loadingStatesし、レンダリング条件が適切な変更をレンダリングすることをアサートできます。

RTLでこれを行う方法はありますか?

0 投票する
1 に答える
7475 参照

reactjs - 反応テスト ライブラリを使用した Formik フォームの送信

LoginForm の送信ハンドラを起動しようとしています。ただし、何らかの理由で、モック関数が呼び出される代わりに、コンポーネントの実際のハンドラーが起動されます (外部 API を呼び出します)。代わりにモック ハンドラーが確実に呼び出されるようにするにはどうすればよいですか?

対象となる 3 つのコンポーネントを以下に示します (プレゼンテーション、コンテナー、およびテスト スイート)。

LoginForm.js

LoginPage.js

LoginPage.spec.js

0 投票する
2 に答える
14703 参照

reactjs - react-testing-library を使用して、react-select コンポーネントで変更イベントをトリガーするにはどうすればよいですか?

を使用して内部を直接テストできない場合、react-testing-libraryを使用するコンポーネントをテストするにはどうすればよいでしょうreact-selectか? react-selectたとえば、従来の をレンダリングしないの値に基づく条件付きレンダリングがある場合<select/>でも、変更をトリガーできますか?

何を問い合わせるべきかさえわかりません。隠し入力ですか?

0 投票する
2 に答える
1258 参照

javascript - TypeError: 未定義のプロパティ 'change' を読み取れません

次のコードでこのエラーが発生するのはなぜですか? 「react-testing-library」から「Simulate」をインポートしましたが、「Simulate」が「undefined」であるというエラーが表示されます

この問題を探していましたが、「シミュレート」動作に関する情報が見つかりませんでした

0 投票する
2 に答える
8421 参照

reactjs - React prop メソッドが Jest で呼び出されたことをテストする

prop メソッドを受け入れ、ユーザーが何かを入力するとそれを呼び出す Input コンポーネントがあります。コード自体は期待どおりに動作しますが、何らかの理由でテストが失敗します。prop メソッドが呼び出されなかったと考えられます。なぜそれが起こっているのですか?テスト目的で、Jest と react-testing-library を使用します。

そして2問目。実際のアプリケーションでは、その prop メソッドに渡されたパラメーターをテストするというのが私の考えです。実装テストと見なされますか (テストする必要があることはわかっています)。

入力.js

テスト

https://codesandbox.io/s/y229669nvx