我寫的有以下堆棧實時JS應用:測試的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會做出相應的反應指定參數:
ie user.foo =(serverName =='bar')? 'bar':'baz';
如何解決這個問題的任何好建議?