2016-08-15 9 views
10

私はkeyDownイベントをシミュレートしようとしています。具体的には、Enter、keyCode: 13です。私はこれを行うためのいくつかの異なる方法を試しましたが、どれも働いていません。私もオンラインで見てきましたが、現在のバージョンの酵素ではこの機能がバギーか機能していないようです。この機能が有効な場合は誰でも確実に知っていますか?もしそうなら、入力をシミュレートするための適切な構文、または他のタイプの重要なイベントは何ですか?ありがとう!EnzymeでkeyDownイベント(またはその他のもの)をどのようにシミュレートしますか?

これは私が現在持っているものであり、それは働いていない:

const input = wrapper.find('input'); 
input.simulate('keyDown', {keyCode: 13}); 

私の現在の酵素のバージョンはそれが私のために働く2.4.1

+0

これでうまくいくはずです。あなたは '浅い'か '山'を使っていますか? – ZekeDroid

+0

私は 'mount'を使用しています – reectrix

+0

@ZekeDroidそれが動作していることを確認する確実な方法はありますか?私はそれが動作しているかどうかのテストは、新しいコンポーネントが作成されているかどうかを確認することを含み、この場合、それは起こっていません。また、私は酵素の「サイロン」と「チャイ」のスパイユーティリティに関する問題を抱えていたので、それらを使用してユーザーイベントを検証することはできませんでした。 – reectrix

答えて

0
wrapper.find('input').simulate('keydown'); 

です...その代わり

7

keyCodeを使用する場合は、「Enter」の場合はmountを使用してキーを使用しました。

wrapper.find('input').simulate('keypress', {key: 'Enter'}) 
+0

私はそれが動作しませんでした – pritesh

+0

それは私のために働いて、明確にするために、私はJestと酵素を使用しています。 – alexfigtree

+2

ああ問題がある。 "keyPress"は "keypress"でなければなりません。私のために働いた! – pritesh