テストのしやすさもRailsのよさ

一身上の事情により、最近はちょっとJavaというかStrutsをさわっています。周囲にはいろいろ聞ける人がおらず、Rails勉強会のときにこっそり聞き込みをしたりしながらなんとかやりくりしてます。お客さまに納めるとか、そういうシステムじゃないのが救いです。
で、Railsから離れてみて、Railsの良さというものを実感してます。素のStruts+taglib vs. ARはじめいろいろ詰まったRailsという比較ですし、私自身がRailsのほうがなれているのでけっして公正な比較ではないです。Java/Struts識者の方にも突っ込みいただければ幸いです。

test/unit vs. DbUnit〜DBまわりのテスト

Railsの場合、${RAILS_ROOT}/test/ 配下にテスト用のコードが生成され、テスト用のDBをfixtureで自動的に初期化してくれるため、DB周りのテストが非常に書きやすくなっています。
対して素のJavaではDbUnitというのを便利に使っています。こちらはDBへの反映用のコードが必要だったりデータをXMLで作らなきゃ行けなかったりと、ちょっと手間がかかりますが、テストデータ自体はExcelでも書けるというのはポイントが高いです。

test/functional vs. StrutsTestCase〜コントローラのテスト

Strutsを使う場合、[Struts + JUnit]で検索するとStrutsTestCaseというのがトップにきます。文書の邦訳はこちら。助かってます。
機能や書式の簡潔さにはあまり不満が無いんですが、それでもRailsでのテストコードに比べるとどうしても長くなってしまってます。これはStrutsというよりもJavaの話ですし、ある程度の規模のあるアプリであれば逆によい影響も多いのでしょうけど。
ほかにもCactusとかもあるみたいなんですが、周りに知ってる人がいないと導入が大変そうだなぁ、ということで適用は見送ってます。

良くも悪くもJavaは世界が広がりすぎて、フレームワークもそれぞれのメリットはあるんでしょうが、いっぱいありすぎて、これから学ぼうという人は大変だなぁ、と思います。

その他

Railsのtest/functionalでやるようなassert_tagを用いた実際に吐き出されるHTMLに対するテストってなんかうまいやりかたがあるんでしょうか。あとはflush[:notice]みたいな機能ってStrutsのtaglibでそれっぽいのがあったりするんでしょうかね、というのが直近の課題。