繁体   English   中英

为什么 Jest 不能正确退出?

[英]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()挂钩中。

①如果本文未解决您的问题,请点击查看与本文相关的问题
②如果本文未解决您的问题,请向程序员专用AI小助手提问
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM