Junit-extensions
JUnit-拡張機能
以下は、JUnit拡張機能です-
- カクタス
- JWebUnit
- XMLUnit
- モックオブジェクト
カクタス
Cactusは、サーバー側のJavaコード(サーブレット、EJB、タグライブラリ、フィルター)を単体テストするためのシンプルなテストフレームワークです。 Cactusの目的は、サーバー側コードのテストを記述するコストを削減することです。 JUnitを使用して拡張します。 Cactusは、コンテナ内でテストを実行するコンテナ内戦略を実装しています。
サボテン生態系はいくつかのコンポーネントで構成されています-
- Cactus Framework はCactusの中心です。 Cactusテストを記述するためのAPIを提供するのはエンジンです。
- Cactus Integration Modules は、Cactus Framework(Antスクリプト、Eclipseプラグイン、Mavenプラグイン)の簡単な使用方法を提供するフロントエンドおよびフレームワークです。
次のコードは、Cactusの使用方法を示しています。
JWebUnit
JWebUnitは、Webアプリケーション用のJavaベースのテストフレームワークです。 HtmlUnitやSeleniumなどの既存のテストフレームワークを、統合されたシンプルなテストインターフェイスでラップして、Webアプリケーションの正確性をテストします。
JWebUnitは、一連のアサーションと組み合わせてWebアプリケーションをナビゲートし、アプリケーションの正確性を検証するための高レベルJava APIを提供します。 これには、リンクを介したナビゲーション、フォームの入力と送信、表の内容の検証、およびその他の典型的なビジネスWebアプリケーション機能が含まれます。
単純なナビゲーションメソッドとすぐに使用できるアサーションにより、JUnitまたはHtmlUnitのみを使用するよりも迅速なテスト作成が可能になります。 また、HtmlUnitからSelenium(近日提供予定)などの他のプラグインに切り替えたい場合は、テストを書き直す必要はありません。
これがサンプルコードです。
XMLUnit
XMLUnitは、単一のJUnit拡張クラス、XMLTestCase、およびアサーションを可能にする一連のサポートクラスを提供します-
- 2つのXMLの違い(DiffおよびDetailedDiffクラス経由)。
- XMLの有効性(Validatorクラス経由)。
- XSLTを使用してXMLを変換した結果(Transformクラス経由)。
- XML上のXPath式の評価(XpathEngineインターフェースを実装するクラスを介して)。
- DOM Traversalによって(NodeTestクラスを介して)公開されるXMLの個々のノード。
比較したい2つのXMLがあり、それらが等しいことを断定するとします。 このような簡単なテストクラスを書くことができます-
モックオブジェクト
単体テストでは、モックオブジェクトは複雑で実際の(非モック)オブジェクトの動作をシミュレートできるため、実際のオブジェクトが単体テストに組み込むことが非現実的または不可能な場合に役立ちます。
モックオブジェクトでテストするための一般的なコーディングスタイルは次のとおりです-
- モックオブジェクトのインスタンスを作成します。
- モックオブジェクトに状態と期待値を設定します。
- パラメーターとしてモックオブジェクトを使用してドメインコードを呼び出します。
- モックオブジェクトの一貫性を確認します。
以下は、Jmockを使用したMockObjectの例です。