Jest тест API клиента WebSocket - PullRequest
1 голос
/ 09 марта 2020

Контекст:

У меня есть серверная программа WebSocket (сборка .exe с C#), и я хочу проверить свой запрос с клиентом NodeJs (в рабочем режиме, это будет NodeJs клиентское приложение, которое будет использовать "API") Я использую jest для его проверки

Мой тестовый код :

const WebSocket = require('ws');

test('Extension Connection test', async ()=>{
    var ws = new WebSocket("ws://127.0.0.1:2031/Extension");

    await new Promise((resolve, reject)=>{
        ws.onmessage = function (message) {
            var responseAttended = {"type":"Information","data":{"information":"Success connection as Extension"},"target":"Extension"};
            assert(message.data, responseAttended);
            resolve();
        };

        ws.onopen = function () {
            var request = {target: "ExtensionService", type: "Auth", data: {name: "extension"}};
            ws.send(JSON.stringify(request));
        };

        ws.onerror = function () {
            assert(false);
            reject();
        }
    });
});

Я начал мой сервер перед запуском теста, мой сервер перехватывает значение send (так что websocket подключен). Мой сервер сделал кое-что и отослал ответ, но похоже, что он никогда не появлялся в моем NodeJs тестовом клиенте

enter image description here

Поскольку ответа нет прибыл, обещание не выполнено, и через 5 секунд шут тайм-аут остановить тест.

Есть идеи, что я сделал плохо?

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...