問題タブ [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 - ブラウザーのフラッシュ プラグインを無効にして Karma テストを実行する
ブラウザに Flash プラグインがないと表示されないコンポーネントの一部をテストしようとしています。コンポーネントは、 swfObjectと以下に示すロジックを使用して、フラッシュ プラグインを検出します。
MyComponent.js
MyComponent-test.js
問題は、カルマがクロムを起動し、フラッシュプラグインが検出されるため、this.state.isMobile が false に設定されていることです。ご想像のとおり、Chrome のフラッシュ プラグインを手動で無効にする必要がある場合、テストも機能しません。
reactjs - エラー: グローバル ドキュメントがロードされていない状態で `mount()` を呼び出したようです
酵素でテストするためにコンポーネントをマウントしようとしていますが、このエラーが発生します。
javascript - 単体テスト: 親の子コンポーネントのクリック イベントを酵素を使用してシミュレートする
親コンポーネントと、単なる「ラベル」要素である子コンポーネントがあります。子要素をクリックすると、親コンポーネントで関数を呼び出す必要があります。呼び出されることを期待していますが、状態は変化せず、カバレッジ ファイルを見たときに関数が呼び出されていません。
**更新:** コードは開発用に機能します。失敗するのは単体テストだけです。
ここに私の親コンポーネントがあります
親.js
子コンポーネント
単体テスト
reactjs - Enzyme/Mocha テストの何が問題になっていますか?
React コンポーネント:
テスト:
最初のテストは成功し、2 番目 (値の 4 倍) は失敗します。ここで何が間違っているのかわかりません。
編集:
これを返すようにコンポーネントを変更すると、次のようになります。
そして次のようなテスト:
その後、それは通過します。したがって、テストが失敗するのは計算小道具を導入するときです。理由はよくわかりません。
unit-testing - 酵素 - アクセス方法と設定方法価値?
<input>
を使用するときに値にアクセスする方法について混乱していますmount
。これが私のテストとして得たものです:
コンソールに が出力されundefined
ます。しかし、コードを少し変更すると、次のように機能します。
もちろん、input.simulate
私がrender
今使っているので、回線は失敗します。正しく機能するには両方が必要です。これを修正するにはどうすればよいですか?
編集:
私が言及する必要があるの<EditableText />
は、制御されたコンポーネントではありません。しかし、に渡すと、値が設定されているようですdefaultValue
。<input />
上記の 2 番目のコード ブロックは値を出力します。同様に、Chrome で入力要素を調べて$0.value
コンソールに入力すると、期待値が表示されます。
javascript - モカは絶対パスのために爆撃を続けます
Enzyme と Mocha を使用して React プロジェクトをテストするのに非常に苦労しています。次のようなテストがあります。
そして、ChipInput
がインポートされると、そのファイルは絶対パスで何かをインポートし/lib/collections/tags
ます。これを機能させるにはどうすればよいですか?
編集:
実際のエラー:
これは、次の行を持つからコンポーネントを/tests/ChipInput-test.js
インポートするために発生します。ChipInput
/client/components/Chips/index.js
npm - 使用されているサードパーティ モジュールがトランスパイルされていない場合にプロジェクトをテストする方法
酵素を使用して React Native プロジェクトをテストしようとしていますが、セットアップ手順に従いました。
https://github.com/airbnb/enzyme/blob/master/docs/guides/react-native.md
これは正常に機能し、自分のコードは正しくトランスパイルされますが、コードをトランスパイルしないモジュール (たとえばhttps://github.com/aksonov/react-native-router-flux ) を含めると、テストの実行が拒否されますこれらのモジュールの import ステートメントでエラーが発生するためです。
これらのモジュールをbabelにトランスパイルさせるにはどうすればよいですか、またはテストを実行する別の方法はありますか?
アップデート
React Native自体はトランスパイルされていないため、トランスパイルされていないサードパーティモジュールはReact Nativeとかなり共通しているようです。
解決策は、トランスパイルを強制することと、react-native-mock を使用することの組み合わせのようです。 https://github.com/facebook/react-native/issues/5392
ただし、NavigationExperimental がモックされていないため、react-native-router-flux でさらに問題が発生しています。
関連リンクは次のとおりです。
https://github.com/lelandrichardson/react-native-mock/issues/23 https://github.com/lelandrichardson/react-native-mock/issues/22 https://github.com/lelandrichardson/react-ネイティブモック/プル/34
解決策が見つかったら、ここで更新します。
更新 2
誰かが役に立つと思う場合に備えて、現在の回避策を以下に含めました。