HTMLを構造的にチェックできて(NekoHTML使ってるみたい)すばらしそうだけれども、Selenium使えるならばそっちの方が直感的にわかりやすいし、簡単そう。
HttpUnitだと、ブラウザ使わずにテストできるけれども、、逆にブラウザ使った方が安心な感じもします。
#HttpUnitにはRhinoが同梱されていたので、JavaScript系の確認も出来るのかも!?
あと、HttpUnitでステータスコードで4xx系で返って来た際に、それを例外として返すところがちょっと使いづらいです。(自分的には)
例えば、存在しないURLに対して接続した場合、、
WebConversation conversation = new WebConversation(); WebRequest request = new GetMethodWebRequest("http://yahoo.co.jp/hogehoge"); WebResponse response = conversation.getResponse(request);
で、404が返って来たときには、それがcom.meterware.httpunit.HttpNotFoundExceptionとしてスローされます。
異常時のレスポンスのbody内容を検証したい人には使いずらいです。(そんな人いない??)
追記@2006/11/19
conversation.setExceptionsThrownOnErrorStatus(false);としておくことで、ステータスコードで4xxが返って来ても例外を投げなくなるそうです。
それと、HttpUnitはリクエストメソッドのDELETEに対応していないとのことです。(DeleteMethodWebRequestが無い)
上記は、t-wadaさんからコメントで教えていただきました。ありがとうございました!
<<<<<<<<
RESTのようなIFをサーブレットコンテナ上で試験しようと思ったのですが、結局Jakarta Commons HttpClient(java.net.*をそのまま触るのはめんどくさい)+JUnitでやることにしました。