在Windows上執行nodeunit的小撇步

 Fri, 30 Sep 2011 08:33:00 +0800

如果有設定好NODE_PATH系統環境變數,並且在PATH環境變數加上node.exe所在的目錄,那就很方便,因為node.exe會從這個系統變數所指的目錄去尋找模組。

從npmjs.org下載nodeunit並解壓縮後,把package目錄改成nodeunit,並且複製到NODE_PATH所指的目錄中,另外在node.exe所在的目錄中加上簡單的nodeunit.cmd:

node %NODE_PATH%\nodeunit\bin\nodeunit %*

這樣就可以直接呼叫nodeunit來執行測試。

另外,由於nodeunit使用utf8符號以及顏色控制碼,這些在windows console中都會影響測試結果顯示。可以透過修改%NODE_PATH%\nodeunit\bin\nodeunit.json檔案,把顏色控制碼刪除,然後利用chcp指令,把code page改為65001,這樣就能執行並且看到結果了。


2011/10/23 補充:

從node-v0.5.8以後,npm可以直接支援windows,另外,在之前的版本也已經支援在console做有顏色的輸出與utf8符號等,所以已經不需要上面這些步驟了。

但是如果使用node-v0.5.10以上必須注意,這個版本以及之後的版本會把process.ARGV移除,所以跑nodeunit可能會碰到問題(我寫的時候還沒改,但是已經有人根據api change文件提出issue了)。如果執行時碰到問題,建議去修改一下:模組目錄/node_unit/bin/nodeunit,把裡面用到的process.ARGV改成process.argv。