я написал в реальное время приложения, которое расслоение плотного имеет следующий стек:Тестирование Javascript на стороне клиента
- Node.js для сервера
- Socket.io как слой связи
- JQuery на переднем конце манипулировать dom и т. д.
Для № 1 у меня нет проблем с тестированием. В настоящее время я использую nodeunit, который выполняет фантастическую работу.
Для # 3 у меня есть небольшая проблема, пытаясь выяснить мой подход к тестированию.
Моя сторона браузера код, как правило, что-то вроде этого:
var user = {
// Rendered by html
id: null,
roomId: null,
foo: null,
// Set by node server.
socket: null,
clientId: null,
...
}
$('button#ready').click(function() {
socket.emit('READY');
});
socket.on('INIT', function(clientId, userIds, serverName) {
user.clientId = clientId;
user.foo = (serverName == 'bar') ? 'bar' : 'baz';
});
Основная часть, которую я хотел бы проверить включает в себя проверку, если JS на стороне браузера будет реагировать соответствующим образом, когда сервер запускает определенный пакет с указанные аргументы:
т.е. user.foo = (serverName == 'bar')? «бар»: «база»;
Какие-либо хорошие рекомендации о том, как подойти к этому?