[英]Why Jest don't exit correctely?
我正在测试一个 UDP 服务器,为此,我在测试中创建了一个 UDP 客户端。 然而,尽管测试通过,Jest 退出时显示以下消息:
Jest 检测到以下 1 个打开的句柄可能会阻止 Jest 退出:
它指向我声明 UDP 套接字的行。
我尝试了以下代码:
const dgram = require('node:dgram');
describe("udp client", () => {
let testClient = dgram.createSocket('udp6');
test('test', ()=>{
let popo = false
expect(popo).toEqual(false);
})
});
但是我遇到了同样的问题:
Jest has detected the following 1 open handle potentially keeping Jest from exiting:
● UDPWRAP
2 |
3 | describe("udp client", () => {
> 4 | let testClient = dgram.createSocket('udp6');
| ^
5 | test('test', ()=>{
6 | let popo = false
7 | expect(popo).toEqual(false);
at createSocket (test/test_udp.test.js:4:28)
at Object.describe (test/test_udp.test.js:3:1)
这不是一个严重的问题,但我想知道发生了什么。
Jest 由一个打开的套接字保持“活动”状态,您必须通过调用socket.close()
显式关闭它。 一个好的地方是在afterEach()
或afterAll()
挂钩中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.