簡體   English   中英

在 textarea 輸入上的 Jest 測試寫入

[英]Jest test write on textarea input

我正在嘗試使用 Jest 將一些模擬字符串寫入文本區域,然后按 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>

只是為了清楚 textarea 在以下測試通過時肯定存在:

test('Should have a textarea', () => {
  const element = wrapper.find('textarea');
  expect(element.length).toBe(1);
});

在您的情況下,您正在尋找的是'keyUp' ,而不是'keypress' 而不是key ,使用keyCode EnterkeyCode13

像這樣:

element.simulate('keyUp', { keyCode: 13 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM