Модульное тестирование клиента xmpp
Каковы основные моменты тестирования клиента xmpp?
Я пишу чат, вроде клиента XMPP, используя библиотеку JsJac. Теперь мне нужно протестировать поведение моего клиента после разных сигналов сервера. Например, когда сервер посылает какую-то ошибку моему клиенту, он срабатывает ondisconnect
Перезвоните. Я также должен проверить (в отдельном тесте), что когда этот обратный вызов срабатывает - определенные условия выполняются.
Вопрос в том, стоит ли мне подключаться к реальному серверу в каком-либо тесте, или я могу как-то написать макет для него?
Я могу эмулировать сообщения сервера таким образом (код CoffeeScript):
error = JSJaCError '503', 'cancel', 'service-unavailable'
xmpp._handleEvent 'onerror', error
но проблема в том, что для этого объект xmpp должен находиться в подключенном состоянии.
1 ответ
Для модульных тестов вы не должны подключаться к реальному серверу - используйте двойной тест, например, фиктивный сервер. Вы также можете написать некоторые интеграционные тесты, которые используют реальный сервер, чтобы убедиться, что вы подключаетесь к нему правильно и т. Д.