SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

JavaScriptでテストを書こう!

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

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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 テスト実行失敗

次のページ
testemのその他機能

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
JavaScriptでテストを書こう!連載記事一覧

もっと読む

この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8391 2015/01/27 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング