Javascript 在textarea输入上进行Jest测试写入

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

我试图使用Jest将一些模拟字符串写入textarea,然后按Enter键,但无论出于何种原因,它都无法工作。到目前为止,我的代码是:

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