FrontPage > 製品 > ソフトウェア開発 > テストツール > UnitTest.XUL

UnitTest.XUL

UnitTest.XUL(略して「UxU(うず)」)は、FirefoxおよびThunderbird用アドオン開発のためのxUnitテスティングフレームワークです。後退バグによる手戻りを防ぎ、アドオン開発の着実な進行を支援します。

製品概要

UnitTest.XUL(略して「UxU(うず)」)は、FirefoxおよびThunderbird用アドオン開発のためのxUnitテスティングフレームワークです。後退バグによる手戻りを防ぎ、アドオン開発の着実な進行を支援します。

アドオンの動作検証を支援

UxUを利用して自動テストを開発すると、アドオンやライブラリの挙動を詳細な部分まで確実に検証できます。

  • アドオンの機能について、様々な構造のWebページで安定した動作を保証したい。
  • アドオンについて、他のアドオンと同時に使用した時の安定した動作を保証したい。
  • ライブラリについて、様々なパターンの入力に対する安定した出力を保証したい。
  • 後から行った変更によって既存の機能に悪影響が出ていないことを保証したい。

このようなアドオン開発上のニーズに、UxUはお応えします。

見やすいテスト結果表示

テストは、単に実行するだけでなく、その実行結果を見てデバッグを行うことが重要です。UxUはテストの実行結果の表示を工夫することで、デバッグ作業の効率を高めます。
  • 例外発生時のスタックトレースから、外部エディタを直接起動できます。
  • 成功したテストには、余計な情報を表示しません。重要でないメッセージの中にエラーの情報が埋もれてしまう心配は不要です。
  • アサーション失敗時は、期待値と実測値を並べて表示します。また、期待値と実測値の差分も表示します。これにより、テストの失敗原因の特定を容易にします。

コマンドラインからの操作にも対応

ソケット通信により、UxUをコンソールから操作することもできます。標準添付のユーティリティ「ifx」を利用すれば、JavaScriptを用いた対話的な操作も可能です。

Greasemonkeyスクリプトの開発にも

UxUはGM関数のエミュレーション機能も含んでいます。GM関数を多用したGreasemonkeyスクリプトも、UxUは自動テストの対象にできます。

書きやすく、メンテナンスのしやすいテスト

ソフトウェア開発においては、後々のメンテナンスのしやすさが重要です。テスト対象のプログラムに新機能を加えれば、それに対応した修正をテストにも施す必要があります。テスト対象だけでなくテストそのもののメンテナンスも容易に行えるよう、UxUは様々な特長を備えています。

テスト定義はJavaScriptの関数定義

UxUはテストファイル内に書かれた関数を自動的に収集し、関数の名前に基づいて、それらをテスト用のコードとして認識します。テストスイート全体、テストケース全体、個々のテストのそれぞれのレベルの前処理と後処理なども、関数として簡単に記述できます。

非同期なテストを処理待ち機能で簡単に実現

ページの読み込みや、タイマーで動作する処理など、非同期に動作する処理の終了を待つ必要がある場合などに、コールバック関数やイベントリスナ等を使う必要はありません。 UxUでは任意のタイミングで、復帰条件を指定した上で、テストの処理を容易に一時停止できます。これにより、クラスのユニットテストだけでなく、GUIが関係する機能の結合テストなども非常に簡単に記述できます。

様々なヘルパーメソッド

UxUはMozillaアプリケーションのアドオン開発に利用されることを想定しています。一般的なJavaScriptフレームワークには無い、アドオン開発で直面しがちな様々な場合に応じたヘルパーメソッドを活用することで、テストしたい機能に直接関係するコードの記述だけに集中できます。
  • Firefoxのタブ操作
  • Thunderbirdのメール作成・送信操作
  • 設定の読み書き
  • ファイルの入出力
  • ユーザ操作のエミュレーション
  • etc.

多彩な標準アサーション

UxUは目的別に様々なアサーションを多数備えています。それらを適切に使い分けることで、後から別の人がコードを見た時にも意味や意図を読み取りやすい、メンテナンス性の高いテストケースを作成できます。
  • DOM Range同士の比較
  • JSON形式のオブジェクト同士の比較
  • 例外の捕捉
  • 処理に要した時間の計測
  • etc.

クリーンなプロファイルでのテスト実行をサポート

ユーザ設定や利用状況などに応じたテストを簡単に行えるように、UxUでは、それぞれのテストに専用のユーザプロファイルを指定することができます。
雛形としてのプロファイルを用意することで、同じ環境・同じ設定でテストを実行できます。テスト実行の度に環境を準備したり、テスト実行後に環境を元に戻したりといった、煩雑な操作は一切不要です。

最新のJavaScript 1.8に対応

一般的なWebアプリケーションでは利用することが難しい、JavaScript 1.8の便利な機能をすべて利用できます。これにより、テストの記述をより簡潔に保つことができます。
  • Arrayの拡張メソッド
  • E4X(ECMAScript for XML)
  • letによるブロックスコープ
  • 配列様の値の分割代入
  • ジェネレータ関数の利用
  • 式クロージャ
  • etc.
製品カテゴリ ソフトウェア開発 > テストツール
対象ユーザー デベロッパー
ライセンス GPLv2
価格 無償
サポート料金 要問い合わせ
提供企業 クリアコード
問い合わせ先 E-mail:info@clear-code.com
関連製品/サービス
資料

スクリーンショット