Javascript のテスト環境を作成する (mocha+power-assert)
はじめに
mocha と power-assert を使用し、javascript のテスト環境を作成します。
目次
環境
- OS : Windows 7 Pro 64bit
- その他 : node.js 6.9.4, mocha 3.2.0, power-assert 1.4.2
mocha とは
mocha は node.js とブラウザで実行される、シンプルで柔軟な Javascript テストフレームワークです。
ライセンスは MIT です。
power-assert とは
power-assert は標準的なアサートインターフェースを通して、詳細なアサーションメッセージを提供するためのツールです。
テスト環境の作成
Javascript のテストに必要なライブラリをインストールします。
mocha をインストールする
npm を利用して、mocha を開発環境にインストールします。
1npm install --save-dev mocha
pawor-assert をインストールする
続いて powor-assert をインストールします。
1npm install --save-dev power-assert
node.js 上で power-assert を利用するために、intelli-espower-loader もインストールします。
1npm install --save-dev intelli-espower-loader
package.json の編集
package.json の scripts を以下のように編集し、npm test
から mocha を実行するように変更します。
package.json1 "scripts": { 2 "test": "mocha" 3 },
テストの実行
実際に Javascript を書いてテストを実行してみます。
テストファイルの作成
プロジェクト内に test フォルダを作成し、その中に test.js というファイルを作成します。
1root 2 ┣ node_modules 3 ┣ test 4 ┃ ┗ test.js 5 ┗ package.json
以下のようなテストを書きます。ここでは配列[1,2,3]に4が含まれていないことを確認します。
test.js1var assert = require('assert'); 2 3describe('Array', function() { 4 describe('#indexOf()', function() { 5 it('shoud return -1 when the value is not present', function() { 6 assert.equal(-1, [1,2,3].indexOf(4)); 7 }); 8 }); 9});
テストの実行
npm test コマンドでテストを実行します。成功すると以下のように表示されます。
1 Array 2 #indexOf() 3 √ shoud return -1 when the value is not present 4 5 6 1 passing (8ms)
エラーの場合
test.js の内容をエラーになるように変更します。
test.js1// assert.equal(-1, [1,2,3].indexOf(4)); 2 assert.equal(-1, [1,2,3].indexOf(3));
この状態で npm test コマンドを実行すると、以下のようにエラーが表示されます。
1 Array 2 #indexOf() 3 1) shoud return -1 when the value is not present 4 5 6 0 passing (11ms) 7 1 failing 8 9 1) Array #indexOf() shoud return -1 when the value is not present: 10 11 AssertionError: -1 == 2 12 + expected - actual 13 14 --1 15 +2 16 17 at Context.<anonymous> (test\test.js:6:20) 18 19 20 21npm ERR! Test failed. See above for more details.