問題タブ [enzyme]
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.
javascript - Mocha 反応ネイティブ ルーターでのコンパイル エラー
ここで問題として提起しました。単体テストを行うことができました-浅くレンダリングして反応するネイティブコンポーネントをテストしましたが、プロジェクトに react-native-router フラックスを導入すると、エラーで失敗し始めました
javascript - Enzymeを使用してMochaでReactコンポーネントの完全なレンダリングを待つ方法は?
Parent
コンポーネントをレンダリングするコンポーネントがありChild
ます。コンポーネントは最初に「名前」などの一意の小道具をレンダリングし、次に親コンポーネントChild
が「タイプ」などの共通の小道具をレンダリングし、.Child
React.Children.map
私の問題は、Enzyme がSection
コンポーネントによってレンダリングされる一般的な小道具を検出できないため、一般的な小道具が追加されているかどうかを効果的にテストできないことです。
テスト:
共通の小道具を注入するためのコード:
reactjs - エラー: このメソッドは、単一ノードでのみ実行することを意図しています。代わりに 0 件見つかりました
コンポーネントでキーバインド機能をテストしています。コンポーネントはかなり単純で、 のイベント リスナーであり、コンポーネントを非表示にするredux アクションkeyup
を起動します。
ここでコードをクリーンアップして、関連する情報のみにしました。ストア ディスパッチを使用してアクション コールを行うだけでテストに合格することはできますが、もちろん、それではこのテストの目的が無効になります。Enzyme を使用keyup
して、適切なイベント データ (のキーコードesc
) でイベントをシミュレートしていますが、以下のエラーが発生します。
MyComponent.js
MyComponent-test.js
エラー:
asynchronous - シミュレートされたクリックが promise を呼び出す関数を呼び出すときに、React の Jest と Enzyme を使用してテストする
- React v15.1.0
- ジェスト v12.1.1
- 酵素 v2.3.0
クリックによって呼び出される関数でプロミスを呼び出すコンポーネントをテストする方法を見つけようとしています。ここで Jest のrunAllTicks()
機能が役立つことを期待していましたが、約束を実行していないようです。
成分:
そしてテスト:
reactjs - focus() 使用時の TypeError
入力ボックスを持つ反応コンポーネントがあります。入力ボックスにフォーカスを設定するために componentDidUpdate を使用しました。しかし、私のテストは typeError で失敗しています。以下は私のコードです。テストに合格するのを手伝ってください。あなたより!!これは私の反応コンポーネントです `
` コンポーネントが更新されると、テストは失敗します。私にこのエラーを与える
TypeError:未定義のプロパティ「フォーカス」を読み取れません
ここで何が悪いのか教えてくれる人はいますか?
unit-testing - Enzyme を使用して、クラスや ID を使用しない React コンポーネントをテストする
render
コンポーネントの 1 つのメソッドに次のものがあります。
className="something"
Enzyme はセレクターを使用して動作するため、CSS クラスとしてまったく使用していない場合でも、div にput を使用するのが最善の方法のようです。それ以外の場合は、Material UI のコンポーネント内にいくつの div があるかを把握しPaper
、非常に複雑なクエリを実行して X レベルを div に深く掘り下げ、テストしたいクリック可能な div に到達する必要があります。言うまでもなく、クリック可能な div を少し下または上に移動すると、技術的には div がまだレンダリングされていて、まだクリック可能であるにもかかわらず、テストが中断されます。
他に方法がなければ?
reactjs - エンザイムシャローとマウントでTDD?
shallow
またはを使用してコンポーネントをレンダリングするmount
と、コンポーネントはメモリ内にレンダリングされ、DOM にアタッチされません。
これは、テストを実行している間、実際にはブラウザに出力が表示されないことを意味します。
開発中のコンポーネントが適切に見えるかどうかわからない場合、テスト駆動開発を行うにはどうすればよいですか? (CSS スタイル、サイズなど)