我正在尝试在 NestJS 项目中设置 E2E 测试,但是,jest 输出如下所示:
Jest did not exit one second after the test run has completed
Run Code Online (Sandbox Code Playgroud)
经过大量阅读后,这是因为有一些资源尚未释放,经过一些调试后,发现有一个打开的redis连接,由NestJSioredis使用bull该连接创建任务队列处理。问题是我在测试代码中没有对连接的引用,那么如何关闭它呢?afterAll我正在像这样拆除笑话钩子中的 Nest 应用程序:
afterAll(async () => {
await app.close();
});
Run Code Online (Sandbox Code Playgroud)
但它什么也没做,连接仍然存在,并且笑话错误消息仍然存在。我知道我可以将其添加--forceExit到jest命令中,但这并不能解决任何问题,它只是将问题隐藏起来。