在textarea输入上开玩笑测试

时间:2020-04-03 03:51:08

标签: javascript reactjs jestjs

我正在尝试使用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>

为清楚起见,随着以下测试的通过,文本区域肯定存在:

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

1 个答案:

答案 0 :(得分:1)

在您的情况下,您要寻找的是'keyUp',而不是'keypress'。并且使用key代替keyCodekeyCode的{​​{1}}是Enter

赞:

13