首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法模拟keyDown (jest+enzyme)

无法模拟keyDown (jest+enzyme)
EN

Stack Overflow用户
提问于 2017-11-19 02:18:38
回答 1查看 4.8K关注 0票数 1

编辑:我最后使用onChange更新了值,它的好处是模拟整个字符串,而不是单个字符。

我使用keydown来识别是更新输入值,还是添加待办事项。

该功能在浏览器中测试时工作,但在用酶模拟时,todo不会添加到快照中(就好像模拟从未发生过一样)。

代码语言:javascript
复制
it('should add a new todo', () => {
  const component = mount(<TodoList />)
  const Input = component.find('.new-todo-input')
  let wrapper = toJson(component);
  
  expect(wrapper).toMatchSnapshot()
  
  Input.simulate('keydown', { key: 'z', keyCode: 90, which: 90 })
  Input.simulate('keydown', { key: 'Enter', keyCode: 13, which: 13 })
  
  wrapper = toJson(component);
  
  expect(wrapper).toMatchSnapshot()
})

您可以找到这里的代码的其余部分。

EN

回答 1

Stack Overflow用户

发布于 2017-11-19 02:39:16

我查过你在github中的代码了。因为您使用的是e.preventDefault(),所以您也应该模拟它:

代码语言:javascript
复制
 Input.simulate('keydown', { preventDefault(){}, key: 'z', keyCode: 90, which: 90 })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47373106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档