JavaScriptテストの基礎知識と使えるフレームワーク6選:フレームワークで実践! JavaScriptテスト入門(1)(3/3 ページ)
しっかりとJavaScriptの“テスト”を行うために、最近のJavaScript事情やテストを取り巻く環境、今注目のテストフレームワークを6つ紹介する
今注目のJavaScriptテストフレームワーク6選
ここでは、実際に今後の連載で取り上げるフレームワークを簡単に紹介します。以下のように、組み合わせたり単独で使ったりする方法もあります。
【1】Phantomjs+【2】Jasmine
「Phantomjs」はWebKitをヘッドレス化してJavaScriptのAPIを利用できるようにしたツールです。コマンドラインからDOMやCSSといった通常ブラウザで扱えるものは一通り操作可能で、SVGやCanvasも利用できます。またjQueryなどのライブラリも利用可能です。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このツールを利用してヘッドレスなテストを実行するテスティングフレームワークとして、「Jasmine」を組み合わせます。JasmineはJavaScriptでBDDを実行するためのフレームワークです。RubyのRSpecライクな記法でテストを記述できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Phantomjs+【3】QUnit
Phantomjsの利用はそのままで、組み合わせを「QUnit」に変えてみます。QUnitはjQueryのテストを行うために作られたフレームワークですが、現在は特にjQueryと関係なくJavaScript全般のテストが行えます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
QUnit自体はWebブラウザベースで実行するのが基本ですが、Phantomjsと組み合わせることでヘッドレスなテストが可能となります。
【4】JsTestDriver
「JsTestDriver」はヘッドレスな手法とブラウザベースのテストの良いところをそれぞれ取り入れたような形でテスト実行できるフレームワークです。JsTestDriverでは、サーバを立ててそこに接続したWebブラウザ上でテストを実行します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
テスト自体はxUnit(QUnitなど)系のテストを利用でき、複数のWebブラウザ上での高速なテスト実行をコマンドラインの操作からできるようにしています。
【5】Capybara-webkit+【6】Sinon.JS
ユーザーのWebブラウザ操作をエミュレートする形でテスト実行するフレームワークである「Capybara」をWebKitベースで実行できるようにしたものが「Capybara-webkit」です。GUIベースでの利用もできますが、「仮想フレームバッファ」という方法で画面を表示せずにバッファ上に展開するだけで実行することもできます。本連載では、そちらを利用してヘッドレスに実行する方法を試します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
また、スタブやモックを提供してくれるライブラリである「Sinon.JS」を組み合わせて利用します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
次回以降、それぞれのフレームワークについて詳細に見ていきますので、お楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.