Travis CI 是一個熱門的持續整合服務,它與您的 Github 儲存庫整合,以便在推送程式碼時自動執行測試。整合是透過在專案根目錄新增一個簡單的 YAML 檔案來完成;Travis 和 Github 會處理其餘的工作。每次測試時,Travis 的結果都會顯示在您的 Github 拉取請求中,並且您的歷史記錄將可在其控制台中使用。本文假設您已經擁有 Travis 帳戶。
在您的專案根目錄建立一個名為 .travis.yml
的檔案,其中包含以下 YAML 內容
language: node_js
node_js:
- "4"
如果您的專案根目錄中還沒有 package.json
,請立即建立一個。Travis 會執行 npm test
來觸發您的測試,因此您可以在這裡告訴 Travis 如何執行您的測試。
// ...snip...
"devDependencies": {
"karma": "~0.12"
},
// ...snip...
"scripts": {
"test": "karma start --single-run --browsers PhantomJS"
}
// ...snip...
Travis 會在每個套件之前執行 npm install
,因此這是您指定應用程式所需但 Travis 不知道的模組(例如 Karma)的機會。
Travis 支援使用虛擬螢幕執行真實瀏覽器(Firefox)。只需更新您的 .travis.yml
即可設定虛擬螢幕,如下所示(如果您使用的是 Xenial)
language: node_js
node_js:
- "4"
dist: xenial
services:
- xvfb
或者,對於 Trusty 及以下版本,如下所示
language: node_js
node_js:
- "4"
before_script:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
現在,您可以在 Firefox 上執行測試,只需將 npm test
命令更改為
karma start --browsers Firefox --single-run