2017-11-19 20 views
0

編集:値を更新するためにonChangeを使用してしまいました。個々の文字ではなく、文字列全体をモックする利点があります。keyDown(jest + enzyme)をシミュレートできません


入力値を更新するか、ToDoを追加するかを識別するためにkeydownを使用しています。

この機能はブラウザでテストしたときに機能しますが、酵素でシミュレートすると、(シミュレーションが実行されないかのように)スナップショットに追加されません。

it('should add a new todo',() => { 
 
    const component = mount(<TodoList />) 
 
    const Input = component.find('.new-todo-input') 
 
    let wrapper = toJson(component); 
 
    
 
    expect(wrapper).toMatchSnapshot() 
 
    
 
    Input.simulate('keydown', { key: 'z', keyCode: 90, which: 90 }) 
 
    Input.simulate('keydown', { key: 'Enter', keyCode: 13, which: 13 }) 
 
    
 
    wrapper = toJson(component); 
 
    
 
    expect(wrapper).toMatchSnapshot() 
 
})

あなたはthe code hereの残りの部分を見つけることができます。

+2

このtesTを実行したときに表示されるエラーは何ですか? –

+1

あなたの質問の中にあなたを助けるために必要なすべての情報が必要です。あなたは精緻化してもよろしいですか? –

+0

ありがとう@AbdennourTOUMI、エラーはありません...それはシミュレーションが発生しないことだけです –

答えて

0

your code in githubを確認しました。 e.preventDefault()を使用しているので、あなたもそれをモックする必要があります:

Input.simulate('keydown', { preventDefault(){}, key: 'z', keyCode: 90, which: 90 }) 
+0

ありがとう!テストに追加しましたが、スナップショットにはまだ新しいToDoが含まれていません –

関連する問題