2017-11-19 4 views
0

Edit: Ich endete mit onChange, um den Wert zu aktualisieren, der den Vorteil hat, ganze Strings, anstatt einzelne Zeichen verspotten.Kann nicht simulieren keyDown (jest + Enzym)

Ich benutze Keydown, um zu unterscheiden, ob Eingabewert zu aktualisieren, oder fügen Sie eine Todo hinzu.

Die Funktionalität funktioniert, wenn sie im Browser getestet wird, aber wenn sie mit Enzym simuliert wird, wird der Todo nicht zum Schnappschuss hinzugefügt (als ob die Simulation niemals stattfindet).

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() 
 
})

können Sie den Rest the code here finden.

+2

Was ist der angezeigte Fehler, wenn Sie diese Tests laufen lassen? –

+1

Alle benötigten Informationen, um Ihnen zu helfen, sollten in Ihrer Frage zur Verfügung gestellt werden. Kannst du es ausarbeiten? –

+0

Danke @AbdennourTOUMI, es gibt keinen Fehler ... Es ist nur, dass die Simulation nicht auftritt –

Antwort

0

Ich überprüfte your code in github. Weil Sie e.preventDefault() verwenden, sollten Sie es auch vortäuschen:

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

Danke! Ich habe es zu meinem Test hinzugefügt, aber der Snapshot enthält immer noch nicht die neue Todo –

Verwandte Themen