我正在尝试使用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);
});
答案 0 :(得分:1)
在您的情况下,您要寻找的是'keyUp'
,而不是'keypress'
。并且使用key
代替keyCode
。 keyCode
的{{1}}是Enter
。
赞:
13