如何修改Jest测试运行完成后1秒未退出的等待时长至5秒?
Jest异步清理超时调整方案
针对异步teardown耗时超过默认阈值的问题,可以通过以下配置调整等待时长:
全局配置(全量用例生效)
修改Jest配置文件中的testTimeout参数,单位为毫秒,设置为5000即可将全局超时阈值调整为5秒:
jest.config.js配置示例:
module.exports = { // 保留原有其他配置 testTimeout: 5000 }
package.json配置示例:
{ "jest": { "testTimeout": 5000 } }
局部针对性配置(仅慢操作生效,更推荐)
如果只有个别清理逻辑耗时较长,无需修改全局配置,直接给对应的afterAll/afterEach钩子单独指定超时时间即可:
// 给异步清理钩子单独设置5秒超时 afterAll(async () => { // 你的不可控异步清理逻辑 await asynchronousTearDown() }, 5000) // 也可以给单个测试用例单独设置超时 test('包含慢逻辑的测试', async () => { await runSlowTest() }, 5000)
上述配置完全覆盖测试用例、before/after系列钩子的超时判断逻辑,可解决异步teardown触发Jest超时提示的问题。
内容的提问来源于stack exchange,提问作者joegomain
相关产品推荐
相关产品推荐

