CodeZine(コードジン)

特集ページ一覧

コードの健康状態を保て! Jenkinsとtestemを使って、JavaScriptで継続的インテグレーション(CI)を行う

JavaScriptでテストを書こう! 第7回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/01/27 14:00
目次

testemを使ってみる

 テストランナーは「testem」を使用します。testemは、コマンドラインでJavaScriptを実行してくれるツールです。testemのコマンドを実行すると、テストを行うためのアクセスURLが発行され、ブラウザでそのURLにアクセスすることでテストが実行されます。testem実行サーバ(PC)がネットワーク上に公開されていれば、OSや端末を問わず、様々なブラウザでのテストを実行することができます。もちろん、node.jsでもテストを行うことができます。

 テストフレームワークは主要なものに対応しており、その他テストフレームワークもカスタムアダプターを作成することで、テストを行うことができます。対応しているテストフレームワークは以下のとおりです。

  • Jasmine
  • QUnit
  • Mocha
  • Buster.js

testemのインストールと実行

 testemの実行にはnode.jsが必要です。node.jsはこちらからダウンロード&インストールしてください。インストール後、コマンドプロンプトから以下のコマンドを実行し、testemをインストールします。

リスト1 testemのインストール
npm install testem -g

 では、早速testemの実行を行ってみましょう。テストコードは連載の第3回「JavaScriptのテストコードをNode.js+Jasmineで実行してみよう」で使用したjasmineで動作するテストコードを使います。

 testemを使用するためには、まずテストの設定を記述するjsonファイルまたはymlファイルを作成します。設定ファイルは、使用するテストフレームワークや読み込むJavaScriptファイルのパスを指定します。今回は以下のようにJsonファイルで記述しました。設定の内容どおりにJavaScriptファイルを配置します。

リスト2 testem.json
{
  "framework": "jasmine",
  "src_files": [
    "js/fizzbuzz.js",
    "test/*spec.js"
  ]
}
リスト3 ディレクトリ構造
c:\testem
│  testem.json
├─js(テスト対象のコード)
│      fizzbuzz.js
│
└─test(テストコード)
        fizzbuzz.spec.js

 では、testemを起動します。以下のようにtestem.jsonがあるディレクトリに移動し、testemというコマンドを実行してみましょう。そうすると、URLが記述された画面が表示されます。ブラウザで「http://localhost:7357/」にアクセスしてみましょう。

リスト4 testemの実行
cd c:\testem
testem
図6 testem起動
図6 testem起動
図7 ブラウザでアクセス
図7 ブラウザでアクセス

 FirefoxやChromeでもアクセスし、テストを実行すると、以下のような画面になります。矢印キーを押すと各ブラウザでのテスト結果が表示されます。テストが失敗した場合は、その内容が表示されます。

図8 テスト実行成功
図8 テスト実行成功
図9 テスト実行失敗
図9 テスト実行失敗

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:JavaScriptでテストを書こう!

著者プロフィール

  • WINGSプロジェクト 安西剛 (ヤスニシ ツヨシ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5