2014-01-31 37 views
2

我需要在沒有互聯網訪問的持續集成服務器上使用PhantomJS運行Karma測試。每次構建運行npm install --no-registry然後grunt 咕嚕噶配置爲單次運行(singleRun: trueKarma + PhantomJS + no internet access

一切運作良好,除了PhantomJS開始。儘管phantomjs軟件包在npm-cache中,但它試圖直接從bitbucket.org下載實際的二進制文件(在我的情況下爲.exe),並且由於沒有inet訪問而顯然失敗。

我試圖預先安裝全球PhantomJS軟件包(npm install -g phantomjs)。現在二進制文件在離線模式下解析,測試運行通過並且通過,一切看起來都很好,但是... Karma測試套件現在永遠不會結束(大概是由於PhantomJS從不退出),直到我點擊了Ctrl + C。 (它只發生在我明確地安裝PhantomJS軟件包與npm install -g ...。如果我不這樣做,並讓它從BitBucket自動下載它運行良好)。 PhantomJS的版本在這兩種情況下是相同的,我仔細檢查。

我嘗試了不同版本的PhantomJS(1.9.7,1.9.6,1.9.2)和Karma(0.11,0.10) - 沒有區別。

這裏是我的的package.json

"devDependencies": { 
    "grunt": "~0.4", 
    "karma": "~0.10", 
    "grunt-karma": "~0.6" 
} 

下面是我所看到的,如果我運行 '-g' 噶安裝有PhantomJS:

> npm install -g phantomjs 
Done. Phantomjs binary available at ..... 
[email protected] C:\Users\.....\npm\node_modules\phantomjs 

> karma start --single-run 
INFO [karma]: Karma v0.10.9 server started at http://localhost:9876/ 
INFO [launcher]: Starting browser PhantomJS 
INFO [PhantomJS 1.9.7 (Windows 7)]: Connected on socket JjD-wPAWrUeuz1NBTw02 
LOG: 'JQMIGRATE: Logging is active' 
PhantomJS 1.9.7 (Windows 7): Executed 60 of 60 SUCCESS (0.362 secs/0.204 secs) 
WARN [launcher]: PhantomJS was not killed in 2000 ms, sending SIGKILL. 
_ 

(和掛起...在繼續Ctrl + C構建之後)

我不明白爲什麼會發生這種情況。

問題

  • 它是如何與用 '-g' 安裝包幻象?
  • 什麼是配置沒有互聯網訪問的環境使用PhantomJS運行Karma測試的正確方法?

謝謝!

回答

相關問題