JS用テストフレームワーク「MOCHA」

普段だとJSでそこまで複雑なロジックを書くことがあまりないので、テストフレームを使わないで画面でポチポチとテストを行ってきました。
最近、訳があり複雑なロジックのコードをテストする必要があったので以下の条件を満たすテストフレームワークについて調べてみました。

  • ドキュメントが充実していること。
  • テストフレームワークがシンプルであること。
  • テストコードが複雑でないこと。
MOCHA

MOCHAとはNode.js上で動作するテストフレームワークです。
上記の条件のほか、カバレッジリポートの作成、ブラウザ経由でのテスト実施とかもサポートしています。
今回はシンプルにコマンドプロンプトでテストを行いたいと思います。
まずはコマンドプロンプトに以下のコマンドを入力して、npm経由でMOCHAをインストールします。
(Node.jsはインストール済みとします。)

 

次に、テスト対象のコードと、テストコードを作成します。
説明するほど複雑でないので、テスト対象のコード、テストコードについては詳しく説明しません。
雰囲気でつかんでもらえればと思います。

 

次にテストを実施します。
コマンドプロンプトからService.js(C:\develop\repos\js配下に存在するものとします。)を実行します。
テスト結果はこんな感じで表示されます。

 

 

 

 

 

長くなってしまったので説明しませんが、非同期の関数をテストする場合は少し注意が必要です。
また、 describe , it の中でコールバック関数を呼び出すのですが、コールバック関数をアロー関数形式で定義するのは非推奨なようです。(場合によっては書けなくはないですが…)
気になった方は、調べてみてください。