こんにちは、中川です。
今回は「インタラクティブなJavaScriptテストフレームワークTestem 」にて紹介されていた、
JavaScriptのテストランナー「testem」を試してみたいと思います。
※動作確認は、Mac OS 10.7、Node-v0.8.0 にて行ないました。
■testem
https://github.com/airportyh/testem
■インストール
$ npm install -g testem
$ brew install phantomjs
※testem では、phantomjsも利用できますのでインストールしておきます。
■動作確認
プロジェクトのディレクトリにて、コマンドを実行します。
$ testem
この状態で色々なブラウザで「http://localhost:7357」にアクセスすると
テストするブラウザが追加されます。
では、READMEを参考にテストを作成します。
// hello_spec.js
describe('hello', function(){
it('should say hello', function(){
expect(hello()).toBe('hello world')
})
})
// hello.js
function hello(){
return "hello world"
}
ファイルを更新する度に、テストが実行されます。
今回は以下のように4つの環境でテストが成功したのを確認できました。
テストフレームワークのデフォルトはJasmineですが、
testem.ymlファイルを設置しfamework指定にてQUnitとMochaも利用できるようです。
また、「ci」オプションを使うと、次々とブラウザを起動・実行・終了し、
結果をTAP形式で出力してくれます。Jenkinsなどとも連携できそうですね。
$ testem ci
# Launching Chrome
# .
ok 1 - Chrome hello should say hello.
.# Launching Firefox
# .
ok 2 - Firefox hello should say hello.
# Launching Safari
# .
ok 3 - Safari hello should say hello.
# Launching PhantomJS
# .
ok 4 - PhantomJS hello should say hello.
1..4
# tests 4
# pass 4
# ok
このように、とても簡単にインストールから実行まで行うことができました。
JavaScriptのテストも今後しっかりと書いていきたいですね。