我剛剛開始一個node.js項目,並且正處於編寫我的第一個單元測試的階段。node.js當客戶端處於與服務器相同的進程中時,「由對等端重置連接」
在單元測試中,我啓動一個服務器,然後創建一個客戶端並向服務器發送一個請求。我會在迴應中做出斷言。
現在,如果我做到這一點使用兩個獨立的js文件,一個用於啓動服務器,其他客戶端,我在不同的節點實例上運行他們,它工作正常。服務器啓動後,我運行其他js,客戶端成功請求該請求。
但是,如果我把相同的代碼到一個單一的JS和一個節點實例中運行它,我得到「連接被對方復位」的錯誤,當客戶端試圖連接。我嘗試使用setTimeout在服務器啓動後將請求延遲幾秒鐘,然後嘗試捕獲套接字上的錯誤。這兩種方法似乎都沒有幫助。
我真的很希望能夠將這個作爲一個單獨的過程來運行。它使編寫和管理單元測試變得更加容易。有誰知道我做錯了什麼?
由於 馬丁
感謝您的回覆。但是,我不確定它是如何回答我的問題的。在文檔中我看不到任何東西,如果你在同一個進程中連接到來自客戶端的服務器,你需要做任何特殊的事情。也許我只是很慢,你能拼出來給我嗎? – martinp999 2011-01-20 20:46:12