Я попытался выполнить модульное тестирование для приложения веб-сокета, используя sinon.js,
Один из пользователей github sinon сделал это, но я не могу понять, как это помогает unit test приложения websocket для проверки полученных данных, отправленных на поддельный сервер.
var dummySocket = { send : sinon.spy()};
sinon.stub(window, 'WebSocket').returns(dummySocket);
dummySocket = new WebSocket('ws://html5rocks.websocket.org/echo');
dummySocket.onopen();
dummySocket.onmessage(JSON.stringify({ hello : 'from server' }));
// You can assert whether your code sent something to the server like this:
sinon.assert.calledWith(dummySocket.send, '{"the client":"says hi"}');
Мои вопросы
- Как я могу получить те же данные от фальшивого сервера, которые ранее были отправлены на сервер.
- Как отправить данные на поддельный сервер с помощью метода
send
для фальшивого объекта сокета (например: -socket.send()
)? - Как я могу получить данные с сервера на
dummySocket.onmessage = function (msg){}
С sinon.js я не смог получить какой-либо процесс для создания поддельного websocket объекта, например, для поддельных XMLHttpRequest
и server
, используя соответственно useFakeXMLHttpRequest()
и fakeServer.create()
Есть ли какой-либо процесс для достижения этого на sinon.js?