Travis CIは、Githubリポジトリと統合し、コードがプッシュされたときに自動的にテストを実行する人気の高い継続的インテグレーションサービスです。統合は、プロジェクトのルートに簡単なYAMLファイルを追加することで行われます。残りの作業はTravisとGithubが行います。テストが行われると、Travisの結果がGithubのプルリクエストに表示され、履歴は制御パネル内で使用できます。このドキュメントでは、既にTravisアカウントがあることを前提としています。
次のYAMLコンテンツを使用して、.travis.yml
という名前のファイルをプロジェクトのルートに作成します。
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
を実行するため、ここで、KarmaなどのTravisが認識していないアプリに必要なモジュールを指定できます。
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
これで、npm test
コマンドを次のように変更するだけで、Firefoxでテストを実行できるようになりました。
karma start --browsers Firefox --single-run