首页 > 解决方案 > 测试羽毛插座

问题描述

到目前为止,我几乎没有对羽毛插座做过任何事情,因此我需要你的帮助。我编写了一个测试来测试我的 websocket 的功能,以将用户移动到正确的渠道。为此,我在测试中创建了两个 socketIo 客户端,并让它们在我自己的助手的帮助下连接到 websocket,这些助手也在建立连接时进行身份验证。如果我自己运行测试,它会正常工作。但是一旦我一起运行所有测试,测试就不再有效,因为 SocketIo-Clients 无法建立任何连接。可以注意到这一点,因为在服务器上没有触发连接事件。

在我的测试中,我这样做:

before((done) => {
        server = app.listen(app.get('port'), done);
        socketUrl = 'ws://localhost:5555}/';
    });
socket = io(socketUrl);

    after(async () => {
        await server.close();
    });

我发现,任何server = app.listen(app.get('port'), done);在套接字测试之前进行的测试都会导致套接字测试失败。有没有可能,这await server.close(); 并没有真正关闭 http-server 和/或 ws-server?

标签: socketswebsocketsocket.iofeathersjs

解决方案


推荐阅读