2016-08-15 34 views
10

Özellikle Enter, keyCode: 13 için bir keyDown olayını taklit etmeye çalışıyorum. Bunu yapmanın birçok farklı yolunu denedim, ancak bunların hiçbiri çalışmıyor. Ben de çevrimiçi baktım ve bu özellik ya Buggy ya da Enzim mevcut sürümünde çalışmıyor gibi görünüyor. Bu özellik işe yarayacaksa kesinlikle bilen var mı, eğer öyleyse, bir girişi veya diğer kilit olay türlerini simüle etmek için uygun sözdizimi nedir? Teşekkürler! Enzyme'deki bir keyDown giriş olayını (veya başkalarını) nasıl simüle ediyorsunuz?

Bu

Şu anda ne var olduğunu ve bu işe yaramıyor:

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

Bulunduğum Enzim sürüm 2.4.1

+0

Bu işe yaramalı. “Sığ” mı yoksa “mount” mı kullanıyorsunuz? – ZekeDroid

+0

'mount' kullanıyorum – reectrix

+0

@ZekeDroid Çalıştığını doğrulamak için emin bir yol var mı? Çalışıp çalışmadığımı veya yeni bir bileşenin oluşturulup oluşturulmadığını kontrol etme konusundaki testim bu durumda gerçekleşmiyor. Ayrıca, hem 'sinon' hem de 'chai''nin enzimdeki casus yardımcı programları ile ilgili sorunlar yaşadım, bu yüzden kullanıcı olaylarını doğrulamak için bunları kullanamadım. – reectrix

cevap

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

Bana uyar ...

7

yerine ise Bir keyCode kullanarak, 'Enter' durumunda bir anahtar kullandım, mount:

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

çalıştım işe yaramadı – pritesh

+0

Benim için çalıştı ve netleştirmek için, Enzyme ile Jest kullanıyorum. – alexfigtree

+2

Oh, problemim var. "keyPress" "tuşa basma" olmalıdır. Benim için çalıştı! – pritesh