关于对防抖函数的测试方法的疑惑

来源:9-11 完美收尾 - AutoComplete 添加单元测试

慕容4836272

2020-09-21

组件中的防抖函数的间隔时间是300ms,并且也没有涉及到 promise,为什么测试用例中用 await wait 就能做到等待300ms再进行dom测试呢?

await wait(() => {
  expect(wrapper.queryByText('ab')).toBeInTheDocument()
})

如果我设置防抖时间是30秒会怎么样呢? 测试用例会一直等待还是报错呢?

不是很理解其中的关键,望老师解惑。

写回答

1回答

张轩

2020-09-22

同学你好 因为我们的防抖中使用了 setTimeout,也算是一种异步的操作,所以需要await。如果设置 30 秒,应该会报错,jest 的最长等待应该是 5000ms,可以自己设置的。

0
1
慕容4836272
谢谢老师答疑
2020-09-23
共1条回复

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2123 学习 · 959 问题

查看课程