node.jsの複数バージョンを一度にテストするライブラリ「trevor」



複数のnode.jsのバージョンを 一度にテストしたい時に便利なコマンドラインツール「trevor」の紹介です。

Unitテストはもちろんですが、配布目的のライブラリや
複数の環境で動かす場合はラインタイム(言語のバージョン)を意識して開発する必用があります。

仮想マシンを使って 各ランタイムバージョンのテスト環境を構築する方法もありますが、
もっと手軽にnode.jsのテストが出来るのが「trevor」です。

trevorはコマンド一発で複数のnode.jsのバージョン環境構築 ~ テストまでしてくれます。

* GitHub上のtrevor公式レポジトリーから

 

trevorのインストール ~ 準備

trevorはnode.jsで開発されているライブラリなので ターミナル上から npm コマンドを使ってインストールします。

# 環境によっては sudo を先頭につけてください
npm install --global trevor

( * trevorはDockerに依存しているライブラリなので、事前にDockerが導入されている必用があります )

続いでプロジェクトのルートディレクトリで
'.travis.yml'ファイルを作成し、テストするnode.jsのバージョンを定義します。
* travis CIドキュメントページ

# node.js ver 4, 6, 7の環境でテスト
language: node_js
node_js:
  - '7'
  - '6'
  - '4'
before_script:
  - npm test

 

trevorの使い方

trevorの使い方は簡単で、Dockerを起動させて
プロジェクトルートから ターミナル上でtrevorコマンドを打つだけです。

コマンドを実行すると "docker イメージの取得 〜 dockerファイル作成 & テスト" までやってくれます。

# コマンドを実行すれば .travis.yml内で指定したnodeのバージョンの構築が始まります
# * お使いの環境によってはテストに数分掛かることもあります 
trevor

 ◌ 7: building environment
 ◌ 6: building environment
 ◌ 4: building environment


* trevor の work flow
1. コマンドを実行後 '.travis.yml'のファイル設定が読み込まれる
2. 記載されているnode.jsの定義したバージョン用のdockerファイルが一時的に作成される
3. テストする各バージョンのコンテナの準備 (download -> build)
4. 各コンテナ上でテストが走る
5. 構築したdocker環境が削除される

テストが完了すれば、下記のように'success'メッセージが表示されます。
( * お使いのコンピューターの環境によってはDockerのビルドに数分掛かることもあります )

Ramda.jsのレポジトリをクローンして、
自身の環境でnode.js バージョン7を追加してテストしてみました


Summary

以上がtrevorの紹介でした。

travis用の定義ファイルがそのまま使えるので travis CIを使った経験ある人なら学習コスト0で使えそうです。

稼働しているサーバーのnode.jsのバージョンをアップグレードする前や、
node.js用のライブラリを作成している人に役立ちそうなライブラリですね!

GitHub : vadimdemedes/trevor

 

この記事のカテゴリ
プログラミング

この記事に付けられているタグ



その他の運営サービス

最新の記事