対象読者
- JavaScriptの基本をある程度理解している方
- テストコードをこれから書こうと考えている方
Jasmineとは
Jasmineとは、JavaScriptのテスティングフレームワークです。Mochaなどのテスティングフレームワークとは違い、値を評価するためのアサーションモジュールも内包されています。また、CoffeeScriptでの記述も可能です。
Jasmineは振る舞い駆動(BDD)の形式でテストを記述します。BDDは、作成する機能に期待する「振る舞い」を文章で記述していきます。言い換えると、顧客が望んでいるであろう「要求仕様」に近い形でテストを表現しながら、テストと実装を記述していく手法です。
リスト01は、Jasmineで記述した基本的なテストコードです。このコードを文章として日本語に直訳すると「【処理結果】が【期待する値】と同じでないと予測(expect)する」です。単純に【処理結果】と【期待する値】が一致していないということだけでなく、テストコードを読むと、その評価の内容を振る舞いとして文章のように読むことができます。Jasmineでは、expectメソッドの引数がメソッドなどの処理結果、一番右側の評価を行うメソッドの引数は期待する値を入れます。
expect(処理結果).not.toEqual(期待する値);
Jasmineはブラウザで動作するテスティングフレームワークとして開発されましたが、Node.jsで使用できるjasmine-nodeも公開されています。構文は両方とも同じものが使用できます。本稿では、jasmine-nodeの使用方法を解説します。
Jasmineのマニュアルは、以下のURLにあります。
テストコードを実行する準備
それでは、Node.jsでJasmineを使ってテストコードを実行するための準備を行います。
Node.jsとJasmineのインストール方法
Node.jsをインストールしてみましょう。まずは、以下のサイトからNode.jsインストール実行ファイルをダウンロードし、実行します。ここでは、Windowsでのインストール方法を説明します。
次に、インストールが完了したかどうか、確認しましょう。コマンドプロンプトを起動し、以下のコマンドを実行してみてください。nodeコマンドのヘルプを参照してみます。以下のように表示されていれば成功です。
node -h
続いて、テスティングフレームワークであるJasmineのインストールを行います。Node.js版はjasmine-nodeというモジュールをインストールします。Node.jsのモジュールは、npmコマンドを使ってインストールを行います。npmは、Node.js向けパッケージ管理ツールです。多くのNode.js向けのオープンソースのモジュールが登録されています。
以下のコマンドを実行してください。必要なモジュールが自動的にダウンロードされ、Jasmineのインストールが完了します。「-g」オプションは、グローバルインストールという意味で、npmのインストール場所にパッケージがインストールされます。
npm install -g jasmine-node
Jasmineのインストールが完了したかどうかを確認しましょう。nodeコマンドと同様、Jasmineのヘルプを参照してみます。以下のように表示されれば成功です。
jasmine-node -h