blog.bouzuya.net

2014-04-16 Testemをためした

Testemをためした。TestemはNode.jsとブラウザとで動くテストランナー。テストランナーで検索すると、GruntやらKarmaなどが出るのだけれど、Gruntは汎用のタスクランナーだし、Karmaはブラウザ向け。Node.js向けのものがあまり見つからなくて、これをためした次第。

正直、そんなに分かってないけど、ざっくりためした内容を書いておく。

とりあえず、インストール。

$ npm install --save-dev testem 

実行も普段どおり。

$ $(npm bin)/testem

コマンドはhelpを見れば分かる。

$ $(npm bin)/testem --help

プロジェクトルートにtestem.jsonを配置しておくと、Node.js向けの動作もできる。

{                                                                               
  "framework": "mocha",                                                         
  "src_files": [                                                                
    "lib/*",                                                                    
    "test/*"
  ],                                                                            
  "launchers": {                                                                
    "node": {                                                                   
      "command": "$(npm bin)/mocha -R tap",                                     
      "protocol": "tap"                                                         
    }                                                                           
  },                                                                            
  "launch_in_dev": [                                                            
    "node"                                                                      
  ]                                                                             
}  

これだとtesting frameworkにはmochaを、watch対象のファイルにlib/*test/*を、ランチャーとしてmochaのコマンドを、Devモードで立ち上がるコマンドとして上記mochaのコマンドを指定している。

DevモードのほかにCIモードもある。違いはよくわからないけど、オプションを指定しないとDevモードになる。ciオプションをつけるとCIモードになる。Devモードはそれを見ながら開発するのかな。CIモードは結果だけ出して終わるみたい。どこがCIなんだ。CIサーバーで使うためのモードだからCIモードなのか。まあいいけど。

DevモードとCIモードのランチャーを確認するなら、次のコマンド。デフォルトだとブラウザが表示されると思う。Node.js向けの設定は上記のとおり。

$ $(npm bin)/testem launchers

オプションを見るかぎりgrowl通知なんかもあるみたい。なんかゴテゴテしてる。でも使いやすい。mocha -wでごまかしていたけど、これを使ってみるのも良いかもね。