GroovyのPowerAssert便利なので、なんとかJavaからも・・・つまりJUnitとかTestNGとかから使えないもんかな~と前から思ってたんですが、結論から言うと無理ぽで、テストフレームワークとしてSpock使うしか無さそうでした。
そもそもPowserAssertはAST変換でかなり頑張って色々組み換えてやってくれてるみたいなので、単純なAPI呼べばOK、みたいな実装にはなってないようです。
ということで、Spock使えでFinal Answerっぽいです。
で、なんかSpockをEclipseで弄る時はPowserAssertの出力を等幅フォントで表示するよう調整したほうがよさそうでした。
お仕事の方では、データパターンのサポート重視でTestNGに転んだのですが、Spockにしたほうが正解だったかなぁ・・・と若干後悔してます。
こんなん調べるくらいなら一行でもコード書いたほうが価値があるとか言われると泣きそうなので勘弁して下さい。
Play! FrameworkではNetty使ってるっぽい情報を小耳に挟んだのでどうかなと、ちょっと調べなおしてみました。
重要なのは、Maven/Ivy/Grape/Graldeエコシステムから地雷を踏まずに使える点ですね。やっぱりGroovyの"@Grape"で導入出来るのが良いです。
もともとNetty自体は汎用的な通信サーバ作るためのフレームワークっぽいので、HTTPサーバくらいまでは用意してくれてますが、J2EEのServletContainerの実装まではNettyには含まれてない・・・っぽい?ざっとggった程度なので断言出来ず。
ただ、こんなふうにわざわざNettyとは別にServletContainerとのつなぎ込みやってる人たちがいるくらいですので、多分そのままではServletContainerとしては使えないのかな~と。
Netty自体も十分複雑なので、この時点で早々に"@Grape"によるお手軽アプローチは諦めました。
やっぱり軽量で他のプロダクトへの組み込みもやりやすいServletContainerとなるとJettyが挙がるわけですが、Maven/Gradleエコシステムならシームレスに使えるものの、Jetty8-9辺りの依存関係に入ってくるアーティファクトか何かの末尾の".orbit"が、Ivy/Grapeエコシステムでトラブルを誘発するため、地雷回避が必須の状況です。
コレさえ無ければ非常に使いやすいのですが・・・。
長らく開発が停滞していた軽量ServletContainerのWinStoneですが・・・
GoogleCodeで、オリジナルの作者に許可を貰った上で有志により開発が再開された模様です。
ただ、まだMaven CentralリポジトリにはUPされてないため、なかなか"@Grab"使ったGroovyソースファイル一本でお手軽アプローチは難しそうです。
こういうのも見つかりました。
これもwinstoneと同様、まだMaven CentralリポジトリにはUPされてないため、なかなか"@Grab"使ったGroovyソースファイル一本でお手軽アプローチは難しそうです。
これは全く毛色の違う話ですが、EasyGSPというGroovyのWebアプリフレームワークがあるようです。
ちょっと良くわかりませんが、ある程度大きめのフレームワークっぽいです。
"Tomcat"という組み込み用のクラスが用意されてて、割りと簡単にTomcatを組み込みで起動とか出来るようにしてくれてるっぽいです。
参考: