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 です。

mocha

power-assert とは

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.