Javascript 在textarea输入上进行Jest测试写入
我试图使用Jest将一些模拟字符串写入textarea,然后按Enter键,但无论出于何种原因,它都无法工作。到目前为止,我的代码是:Javascript 在textarea输入上进行Jest测试写入,javascript,reactjs,jestjs,Javascript,Reactjs,Jestjs,我试图使用Jest将一些模拟字符串写入textarea,然后按Enter键,但无论出于何种原因,它都无法工作。到目前为止,我的代码是: test('Should add a message', () => { const element = wrapper.find('textarea'); element.instance().value = 'abc'; element.simulate('keypress', { key: 'Enter' }); const new
test('Should add a message', () => {
const element = wrapper.find('textarea');
element.instance().value = 'abc';
element.simulate('keypress', { key: 'Enter' });
const newWrapper = wrapper.find('user');
expect(newWrapper.length).toBe(1);
});
我的组成部分:
<textarea
onKeyUp={sendMessage}
placeholder='Type your message here and press enter to send...'
cols='30'
rows='5'
></textarea>
在您的情况下,您需要的是
'keyUp'
,而不是'keypress'
。使用keyCode
,而不是key
。Enter
的keyCode
为13
像这样:
element.simulate('keyUp', { keyCode: 13 });
你在用酶吗?包装器是如何创建的<代码>浅或
装载
?您考虑过react测试库吗?我发现测试模拟输入更容易一些。
element.simulate('keyUp', { keyCode: 13 });