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 を開発環境にインストールします。
npm install --save-dev mocha
pawor-assert をインストールする
続いて powor-assert をインストールします。
npm install --save-dev power-assert
node.js 上で power-assert を利用するために、intelli-espower-loader もインストールします。
npm install --save-dev intelli-espower-loader
package.json の編集
package.json の scripts を以下のように編集し、npm test
から mocha を実行するように変更します。
package.json
"scripts": {
"test": "mocha"
},
テストの実行
実際に Javascript を書いてテストを実行してみます。
テストファイルの作成
プロジェクト内に test フォルダを作成し、その中に test.js というファイルを作成します。
root
┣ node_modules
┣ test
┃ ┗ test.js
┗ package.json
以下のようなテストを書きます。ここでは配列[1,2,3]に4が含まれていないことを確認します。
test.js
var assert = require('assert');
describe('Array', function() {
describe('#indexOf()', function() {
it('shoud return -1 when the value is not present', function() {
assert.equal(-1, [1,2,3].indexOf(4));
});
});
});
テストの実行
npm test コマンドでテストを実行します。成功すると以下のように表示されます。
Array
#indexOf()
√ shoud return -1 when the value is not present
1 passing (8ms)
エラーの場合
test.js の内容をエラーになるように変更します。
test.js
// assert.equal(-1, [1,2,3].indexOf(4));
assert.equal(-1, [1,2,3].indexOf(3));
この状態で npm test コマンドを実行すると、以下のようにエラーが表示されます。
Array
#indexOf()
1) shoud return -1 when the value is not present
0 passing (11ms)
1 failing
1) Array #indexOf() shoud return -1 when the value is not present:
AssertionError: -1 == 2
+ expected - actual
--1
+2
at Context.<anonymous> (test\test.js:6:20)
npm ERR! Test failed. See above for more details.