[英]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.