2014年08月08日

Karmaでmocha + chaiのテストを自動化

Karma + を利用すればテストが自動化できるので自動化してみました。

ひとまずはkarmaをインストール。

npm install -g karma
karma --version


このままでは「-bash: karma: command not found」と怒られてしまうのでkarma-cliもインストール。

npm install -g karma-cli
karma --version


これでちゃんとバージョンが表示される。

Karma version: 0.12.21


まずは設定ファイルの作成。対話式で作成できます。

karma init


まず、

Which testing framework do you want to use ?
Press tab to list possible options. Enter to move to the next question.

と利用するフレームワークについて聞かれる。QUnitJasmineMochaから選択できるのでひとまずはMochaを選択(tabか下ボタンで候補をきりかえられます)

次に、

Do you want to use Require.js ?
This will add Require.js plugin.
Press tab to list possible options. Enter to move to the next question.

Require.jsを利用するかどうか聞かれます。「no」でEnter

Do you want to capture a browser automatically ?
Press tab to list possible options. Enter empty string to move to the next question.

次に、利用するブラウザを聞かれます。PhantomJSでヘッドレステストなんかもできますがターゲットブラウザ以外でテストするのもあれなのでChromeとFirefoxを選択。(WinならIEとかも指定するとよいかも)

What is the location of your source and test files ?
You can use glob patterns, eg. "js/*.js" or "test/**/*Spec.js".
Enter empty string to move to the next question.

次にスクリプトの場所が聞かれます。"js/*.js" or "test/**/*Spec.js"みたいにして読み込むファイルを指定しましょう。
ちなみにChaiやSinon.JS、jQueryなんかMocha以外にライブラリも指定しておく必要があります。

あと、mocha.run();を実行しているファイルを読み込んじゃうとテストが2回走ってしまいます。ここでハマった。

Should any of the files included by the previous patterns be excluded ?
You can use glob patterns, eg. "**/*.swp".
Enter empty string to move to the next question.

swpファイルの出力場所が聞かれます。これは無視。

Do you want Karma to watch all the files and run the tests on change ?
Press tab to list possible options.

ファイルを監視するか聞かれるので「yes」。

これで「karma.conf.js」が作られます。

karma start


と打つと自動でブラウザが立ち上がりテストが開始されます。また、監視ファイルが更新された際にも再テストが自動で行われます。
タグ:KARMA mocha chai test
posted by ねこまんま at 11:26 | Comment(0) | TrackBack(0) | test | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック