問題タブ [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.

0 投票する
3 に答える
4283 参照

javascript - React コンポーネントの状態を設定する componentDidMount で行われた非同期呼び出しをテストする方法

内部の非同期呼び出しcomponentDidMountが React コンポーネントの状態を設定することをテストする最良の方法は何ですか? 文脈上、私がテストに使用しているライブラリは、、、、Mochaおよびです。ChaiEnzymeSinon

コード例を次に示します。

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

reactjs - 反応コンポーネントの酵素でオブジェクトタイプの小道具の値を設定するには?

2つの方法を試しましたが、

1.

2.

しかし、まだ両方の小道具は未定義のままです

0 投票する
3 に答える
5052 参照

javascript - ReactJS & Enzyme: 要素の内容を文字列に一致させる

h1 と p をレンダリングする React.js に単純な Intro コンポーネントがあります。

Enzyme を使用して、渡された h1 & p 文字列のテストを作成しようとしていますが、これを行うことができません。このコードの何が問題になっていますか?

コンソールログを記録するwrapper.find('p').text()と、未定義ではありません...それでも、コンソールには次のように表示されます。

0 投票する
0 に答える
2308 参照

testing - this.props.children.map は、反応コンポーネントを酵素でテストするときの関数ではありません

次を使用して、その子も利用するReactコンポーネントがありますthis.props.children

これはこれまでのところブラウザではうまく機能しますが、酵素を使用してテストしようとすると、奇妙なエラーが発生します。これはテストです:

そのテストを実行しようとすると、次のエラー メッセージが表示されます。

もちろん、私はそれを望んでいますが、mountとでそれをやろうとしました。しかし、両方の機能が期待どおりに機能しません。私はjsdomも使用しており、テストに含まれている次のスクリプトを使用しています。shallowshallowmountsetup.js

そして、私が間違っていることを考えていますか?

アップデート:

コードにa を追加するconsole.log(this.props.children)と、テストで次の構造が得られます。

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

reactjs - 酵素フルレンダリングでreactjsモジュールをテストするために外部ライブラリをjsdomにロードする方法

Google マップを使用する反応モジュールが 1 つあるため、テストを実行する前に Google Places JavaScript を DOM にロードする必要があります。これらの外部ライブラリをjsdomにロードするにはどうすればよいですか?

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

reactjs - Refs を使用する React/Enzyme コンポーネントを浅くレンダリングする

私は酵素でテストしている React コンポーネントを持っています。たとえば、酒は次のようになります。

Mocha/Chai/Enzyme を使用していくつかの単体テストを書いています。ボタンを押すことをシミュレートして、props func が呼び出されることを確認したいと考えています。

私の基本的な酵素テストは次のようになります。

this.buttonクリック ハンドラで にアクセスしたときにエラーが発生しないように、テストまたはコンポーネント コードを微調整する方法はありますか? 「TypeError: 未定義のプロパティ 'classList' を読み取れません」というメッセージが表示されます。

これを浅いレンダリング単体テストとして保持したいのですが、マウントを使用してこのコンポーネントを深くレンダリングしたくありません。これには、jsdom などのブラウザーのような環境を使用する必要があります。

ありがとう。

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

meteor - React コンポーネントのテストで FlowRouter コンテキストを渡す方法

5 つのリンクを持つ反応コンポーネントをテストしています。各リンクは、現在のルートに基づいてアクティブになります。これらのコンポーネントをテストするために、Meteor と Mantra および酵素を使用しています。

フッター コンポーネント:

テスト

しかし、 を実行すると、テストで FlowRouter コンテキストを反応コンポーネントに渡すにnpm testFlowRouter is not defined.どうすればよいですか? と表示されます。前もって感謝します

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

unit-testing - 酵素: ステートレスな機能コンポーネントが未定義の props を返す

Enzyme 浅いレンダリングを使用してテストしている SFC があります。このステートレス コンポーネントに小道具としてインライン スタイルを持つスタイル オブジェクトを渡しています。ただし、単体テストを適用すると、未定義が返されます。このコンポーネントは、渡されたものを小道具として返すだけであり、何も渡されたりレンダリングされたりしないため、未定義になっていることを理解しているため、それで問題ないかどうかはわかりません。これに対する回避策はありますか?

テスト:

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

unit-testing - 酵素: BrowserHistory 関数でテストが失敗する

私はユニットテストにかなり慣れていません。私はreact + reduxを使用しており、NotFoundページ/コンポーネントを作成しており、その単体テストを書いています。失敗しているテストする必要がある onClick イベントがあります。

404.jsx

Test.js

これでも、エラーがスローされますCannot read property 'goBack' of undefined

前もって感謝します。