読書メモ

・「Jakartaプロジェクト カンタンCactus
(プロジェクトウィルカ:著、秀和システム \2,200) : 2011.09.04

Cactus:サーブレット・コンテナで動作するテスト・フレームワーク。JUnitの拡張。 サーバ側でJavaコードの単体テストを行なう。Antとも連動。 テストはJUnitテストランナーによりクライアント側のJVMで開始され、テストケースはサーバ側のJVMのCactusリダイレクタに接続する。 メソッドの単体テストだけならJUnitを使えばよい。Cactusはサーブレット自体の振る舞いを厳密にテストしたい場合に有効。

○ポイント
・メソッド、クラス、サーブレット、EJBをテスト
・モック・オブジェクト:テスト対象のコードがやり取りするオブジェクトから分離した状態でメソッドの単体テストを実施できる。 本物をシミュレートするオブジェクトを使用して、オブジェクトを偽装する。スタブとは違い、シミュレートするオブジェクトのロジックは実装しない。 サーブレットのテストに使用する場合、シミュレートする必要があるのはServlet APIだけ。 クラスがDB接続などのリソースを使用する場合、実際のリソースとは切り離した状態でテストできる。
・Jetty:Javaで書かれたHTTPサーバ/サーブレットコンテナ。Java、サーブレット、JSPを使用して動的なコンテンツを生成できる。オープンソース
・Tomcat:オープンソースのWebアプリケーションサーバ。JavaサーブレットやJSPを処理できる。単体のWebサーバとしても運用できる。ApacheやIISのプラグインとしても使用できる
・Maven:プロジェクト管理ツール、ビルド環境。プロジェクトの構造を正しく定義し、適切な開発プロセスに従い、プロジェクトの内容をマニュアルに正しく反映させることを目指す
・POM:Project Object Model。プロジェクトの様々な側面を記述したもの
・Ant:複数のクラスで構成される大きなプロジェクトでも、クラスの一部だけを変更した場合にもコンパイル作業を楽にしてくれる。ビルド・フレームワーク。
・junitreport:Antのオプション。テスト結果をXMLで出力。HTMLドキュメントにも変換
・JBoss:オープンソースのJ2EEアプリケーションサーバ。WebコンテナとしてTomcatをバンドル。JMXを採用
・JMX:JavaからNW上のリソースを管理するための仕様

-目次-
第1章 XP(eXtreme Programming)の考え方
第2章 テストの種類と作成
第3章 JUnitで始める単体テスト
第4章 Antによるテストの自動化
第5章 モックオブジェクトによるリソースの偽装
第6章 Cactusで始める統合テスト
第7章 Mavenによるビルド環境の作成
第8章 サーブレットの単体テスト
第9章 JBossを使ったEJBのテスト