最近のプロジェクトでは、Spring、JUnit、および HttpClient の組み合わせを使用していくつかの成功を収めました。
Apache HttpClientは、http 要求を構築してアプリケーションに送信するための強力で柔軟な API を提供します。たとえば、クライアント側のスクリプトを実行することによって Web ブラウザーを複製することはできませんが、結果の http 応答 (ヘッダー、URI、本文) 内に十分なコンテンツがある場合は、この情報を使用してアプリケーション内のページをトラバースし、動作を検証できます。フォームの投稿、リダイレクトの追跡、Cookie の処理、およびアプリケーションへの入力の提供を行うことができます。
JUnit (junit.org) はテストを駆動し、HttpClient で一連のページを呼び出し、アプリケーションと一緒にデプロイしたり、ant/maven でスタンドアロンで実行したり、IDE 内で個別に実行したりできます。
もちろん、Spring (springsource.org) は、プロジェクトで使用していない可能性があるため、オプションです。DAO を置換して特定のデータ値を返すことにより、フロントエンド コントローラーなどの特定の領域をビジネス ロジックまで分離できるように、アプリケーションの一部をスタブ化またはモック化すると便利であることがわかりました。優れたテスト コンテキスト フレームワークと、JUnit (または必要に応じて TestNG) などのテスト フレームワークにうまく接続できる特殊な TestRunners を提供します。