关于Jest和Async callback was not invoked有很多问题,但我没有发现任何问题的根源在于jest.useFakeTimers()的使用。在使用假计时器时,我的函数不应该花时间执行,但出于某种原因,Jest是挂着的。这是一个完整的代码片段,演示了这个问题。jest.useFakeTimers('modern'
in 1 test suite, run time 5.903s)
测试每次都会超时,因为done()从未在beforeAll()钩子中被调用-没有抛出错误,也没有打印到控制台的任何内容。我可以在beforeAll()钩子中放置断点来验证正在运行的代码。看来猫鼬是在尝试打开与Mongo的连接时被吊起来的,然后开玩笑的测试就会超时。当我在jest环境