Испытание розетки перьев - PullRequest
2 голосов
/ 05 апреля 2020

До сих пор я почти ничего не делал с розетками из перьев, и поэтому мне нужна ваша помощь Я написал тест, который проверяет функциональность моей веб-розетки для перемещения пользователей по нужным каналам. Для этого я создал в своем тесте два SocketIo-клиента и позволил им подключаться к веб-сокету с помощью моих собственных помощников, которые также выполняют аутентификацию при установлении соединения. Если я проведу тест самостоятельно, он будет работать нормально. Но как только я запускаю все тесты вместе, тест больше не работает, потому что SocketIo-Clients не могут установить какое-либо соединение. Это можно заметить, поскольку на сервере не инициируется событие подключения.

В моем тесте я делаю:

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

и

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

I обнаружил, что любой тест, который также выполняется server = app.listen(app.get('port'), done); перед тестом сокета, приведет к сбою теста сокета. Возможно ли, что await server.close(); действительно не закрывает http-сервер и / или ws-сервер?

...