2011-09-05 36 views
1

我想使用socket.io-client來測試我的socket.io服務器。我嘗試用以下文件運行expresso。數據打印在控制檯中。然後進程掛在那裏,beforeExit從不執行,直到我用Ctrl-C終止進程。我想在服務器完成回調之後,beforeExit應該被調用,然後進程停止。但事實並非如此,爲什麼?使用expresso和socket.io客戶端來測試服務器,但測試過程不會停止

var assert = require('assert'); 
exports.testAsync = function(beforeExit){ 
    var io = require('socket.io-client'); 
    var socket = io.connect('http://localhost:8000'); 
    socket.on('connect', function(err) { 
     assert.isUndefined(err); 
     socket.emit('set nickname', 'apple', function(data) { 
     assert.equal(data, 'ok'); 
      console.log(data); 
     }); 
    }); 
    beforeExit(function(){ 
     console.log("exit"); 
     socket.disconnect(); 
    }); 
}; 

回答

0

奇怪。我正在使用Expresso 0.9.2,並且您編寫的代碼與預期完全相同。但是,當然,我沒有任何服務器運行。

這是測試文件的全部內容嗎?

+0

你可以試試這個:https://github.com/visionmedia/expresso/pull/148?它在我的電腦中運行。 – janvidar

相關問題