React @testing-library UserEvent.paste用法更新到14版本后不生效
2024-09-01
42
把testing-library从13.5.0更新到了14.1.1,发现原来paste的case过不了。
官网上V13的用法和Demo是这样的:
paste(element, text, eventInit, options)
test('should paste text in input', () => {
render(<MyInput />)
const text = 'Hello, world!'
const element = getByRole('textbox', {name: /paste your greeting/i})
userEvent.paste(element, text)
expect(element).toHaveValue(text)
})
但是更新V14包后这样写就有问题,paste方法第一个参数不再传element,而是先focus到目标元素上再进行paste操作。更新后的写法是这样的:
paste(clipboardData?: DataTransfer|string): Promise<void>
it('should paste', async () => {
render(<Screen />)
screen.getByRole('textbox').focus()
await userEvent.paste('1234')
})
这个问题在GitHub上也看到很多人提出了。
更新于:2个月前赞一波!
相关文章
- react使用echart图文教程
- 国外流行的前端框架有哪些?
- react前端基础面试题和答案
- React路径不变location.search参数改变不触发useEffect
- 在IIS部署React前端项目
- React Error: Exceeded timeout of 5000 ms for a test. 错误
- @testing-library userEvent和fireEvent的区别
- @testing-library/react单元测试getBy queryBy和findBy的区别
- React获取url参数的几种方法
- react监听路由变化
- Vue和React怎么选?
- react hooks获取url参数
- react单元测试模拟点击浏览器返回按钮时触发popstate事件
- react基础面试问题
- react获取url参数 忽略参数名大小写
- react获取url参数不区分大小写
- 如何在React中使用路由?
- 如何在 React 中使用 GraphQL
- 前端学react还是vue?
- 如何在React中使用Redux?
文章评论
评论问答