共计 326 个字符,预计需要花费 1 分钟才能阅读完成。
最近在编写 Nodejs/Jest
单元测试时呈现利用无奈失常退出,明明单元测试曾经执行结束,然而利用就是卡住,无奈失常退出, 导致单元测试无奈间断执行。因为利用较为简单,很难以排查是什么起因导致的,通过剖析起因次要如下:
- 未解决
async/Promise
会导致该起因,解决办法是在jest
中增加--detectOpenHandles
参数,增加该参数后,在运行时jest
会检测并给出提醒,依此解决就能够。 - 还有一种状况是利用中存在未清理的
setInterval
也会导致此状况,这种状况比拟荫蔽。解决办法也很简略, 能够本人编写一个setSafeInterval
函数,替换一个利用中所有应用setInterval
的中央,记录一下定时器句柄,在退出前清理一下就能够了。
正文完