2017-02-02 15 views
0

$('#input').val('[email protected]').change()を呼び出すと、React input onChangeイベントが発生しないようです。casperjsとReactでonChangeをトリガする方法は?

しかし、これは実際にCasperJSのようなものを使用して統合テスト(フォームに記入して提出するなど)に必要です。

これを行うにはどうすればよいですか?私は解決策をオンラインで見つけたり、ブラウザーでさまざまなことを試したり、状態のReact Devtools値を調べたりすることができませんでした。

ここにいくつかの関連リンクがありますが、それは特に役に立ちません。 Why jQuery.val(value) does not dispatch any event from the DOM element?

+0

これはこの[回答](http://stackoverflow.com/questions/35353482/testing-react-apps-with-phantom-casper)と重複している可能性があります。 – Dan

+0

答えが必要な質問は、キャスパーJSとPhantomJSがリアクションコンポーネントをリアクションビジュアルドーム内に見つけることですか?リアクションアプリケーションに適したテストフレームワークはありますか? – Dan

+0

スクリーンショットは完全に正常に機能します。しかし、 '$( 'input')のjQuery .Val( 'something')。change()'はReactの 'onChange'イベントをトリガしません。回避策は、テキスト入力値にstateを使用しないことです。 –

答えて

0

したがって、テストを有効にするために、入力を通常のHTML入力に変更しました。 onSubmit関数の場合は、refを使用して入力値を検索します。 onChangeをプログラムでトリガーする方法が見つかりませんでした。

関連する問題