簡體   English   中英

在沒有全局安裝PhantomJS的情況下運行“ember test”

[英]Run “ember test” without PhantomJS installed globally

我有一個Ember CLI項目,我正在使用Maven構建,我試圖弄清楚如何讓maven能夠運行測試,而無需事先假設全局安裝了PhantomJS。 我正在使用frontend-maven-plugin來安裝特定版本的node和npm,以調用npm install,bower install和ember build; 這一切都已經奏效了。 我現在要做的還是調用ember測試,如果測試失敗,則無法使用maven構建。 目前,只要“phantomjs”在運行maven構建的機器的路徑中,這就可以工作; 然而,許多開發人員使用這個不是開發人員的構建版本,並且不會在他們的路徑中使用phantomjs。 我也不想確保在我的CI服務器上全局安裝phantomjs。

是否有某種方法可以將PhantomJS指定為package.json中的依賴項,並且有testem(ember的默認測試運行器)在node_modules中選擇安裝? 我能以某種方式向PhantomJS提供路徑,這在文檔中並不明顯嗎? 或者,如果我想運行測試,我是否只需要使用隱藏的手動依賴項?

是的,你可以做到這一點。

首先,將phantomjs-prebuilt安裝為dev依賴項:

 npm install --save-dev phantomjs-prebuilt 

然后在運行測試之前更改package.json腳本以將項目本地node_modules添加到路徑:

    "scripts": {
      "build": "ember build",
      "start": "ember server",
      "test": "PATH=$PATH:./node_modules/.bin ember test"
    },

然后正常運行您的測試

 npm install && bower install && npm test 

這將啟動您的項目本地版本的phantomjs來運行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM