首页 > 其他 > 详细

JEST 超时报错

时间:2020-04-07 10:54:42      阅读:169      评论:0      收藏:0      [点我收藏+]

 

报错:

Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.Error: Timeout - Async callback was
not invoked within the 5000ms timeout specified by jest.setTimeout.

at mapper (node_modules/_jest-jasmine2@24.9.0@jest-jasmine2/build/queueRunner.js:25:45)

 

描述:

运行测试组件是提示超时,即使skip的组件也超时,甚至运行成功的组件也超时;其他测试用例不超时,只有这个超时

 

解决过程:

  1. 看了提示的的API 没有头绪
  2. 怀疑这句导致了问题,但是其他地方也用了,没有类似超时报错: const erpText = await page.$$eval(css5, eles=>eles.map(ele=>ele.textContent.replace(/\s+/g,"")))
  3. 查看了配置文件,取消了 puppeteer.launch() 中的 timeout 参数无果
  4. 运行其他脚本,正常执行
  5. 对比两个脚本,发现 beforeAll() 模块异常,有区别,比正常的脚本多了2行代码;而执行时间,没有设定,默认 5000s, 增加到10000之后,问题解决

 

总结

原则:紧紧的扣住报错内容,从报错内容中找线索。

报错内容,提示超时,那肯定是哪里超时了;接下来就是超时的地方;脚本中,各个组件都设置了时间 (35000),一般足够用了,不会发生集体超时(排除了网络问题),所以只能是 

beforeAll() 这种地方了。

 

JEST 超时报错

原文:https://www.cnblogs.com/George19950505/p/12651700.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!