home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2013/05/25/本日の調査メモ:PowerAssertってJavaから使えるの?+軽量ServletContainer現況

日記/2013/05/25/本日の調査メモ:PowerAssertってJavaから使えるの?+軽量ServletContainer現況

日記 / 2013 / 05 / 25 / 本日の調査メモ:PowerAssertってJavaから使えるの?+軽量ServletContainer現況
id: 1191 所有者: msakamoto-sf    作成日: 2013-05-25 00:46:16
カテゴリ: Groovy Java 

PowerAssertってJavaから使えないの?→無理ぽ。Spock使うしか無さそう。

GroovyのPowerAssert便利なので、なんとかJavaからも・・・つまりJUnitとかTestNGとかから使えないもんかな~と前から思ってたんですが、結論から言うと無理ぽで、テストフレームワークとしてSpock使うしか無さそうでした。

そもそもPowserAssertはAST変換でかなり頑張って色々組み換えてやってくれてるみたいなので、単純なAPI呼べばOK、みたいな実装にはなってないようです。

ということで、Spock使えでFinal Answerっぽいです。

で、なんかSpockをEclipseで弄る時はPowserAssertの出力を等幅フォントで表示するよう調整したほうがよさそうでした。

お仕事の方では、データパターンのサポート重視でTestNGに転んだのですが、Spockにしたほうが正解だったかなぁ・・・と若干後悔してます。

軽量なServlet Container無いかな?→なんだかんだでTomcat Embeddedも良さげ?

こんなん調べるくらいなら一行でもコード書いたほうが価値があるとか言われると泣きそうなので勘弁して下さい。
Play! FrameworkではNetty使ってるっぽい情報を小耳に挟んだのでどうかなと、ちょっと調べなおしてみました。
重要なのは、Maven/Ivy/Grape/Graldeエコシステムから地雷を踏まずに使える点ですね。やっぱりGroovyの"@Grape"で導入出来るのが良いです。

NettyはServletContainer使えるか?

もともとNetty自体は汎用的な通信サーバ作るためのフレームワークっぽいので、HTTPサーバくらいまでは用意してくれてますが、J2EEのServletContainerの実装まではNettyには含まれてない・・・っぽい?ざっとggった程度なので断言出来ず。

ただ、こんなふうにわざわざNettyとは別にServletContainerとのつなぎ込みやってる人たちがいるくらいですので、多分そのままではServletContainerとしては使えないのかな~と。

Netty自体も十分複雑なので、この時点で早々に"@Grape"によるお手軽アプローチは諦めました。

Jettyはどうした?→".orbit"問題があるのでどーも今ひとつ・・・。

やっぱり軽量で他のプロダクトへの組み込みもやりやすいServletContainerとなるとJettyが挙がるわけですが、Maven/Gradleエコシステムならシームレスに使えるものの、Jetty8-9辺りの依存関係に入ってくるアーティファクトか何かの末尾の".orbit"が、Ivy/Grapeエコシステムでトラブルを誘発するため、地雷回避が必須の状況です。

コレさえ無ければ非常に使いやすいのですが・・・。

winstoneが開発再開、ただしMaven CentralリポジトリにはUPされてないのでこれも今ひとつ。

長らく開発が停滞していた軽量ServletContainerのWinStoneですが・・・

GoogleCodeで、オリジナルの作者に許可を貰った上で有志により開発が再開された模様です。

ただ、まだMaven CentralリポジトリにはUPされてないため、なかなか"@Grab"使ったGroovyソースファイル一本でお手軽アプローチは難しそうです。

"TJWS", "Tiny Java Web Server and Servlet Container"というのもあるが、やはりMaven Centralリポジトリには挙がってなさげ。

こういうのも見つかりました。

これもwinstoneと同様、まだMaven CentralリポジトリにはUPされてないため、なかなか"@Grab"使ったGroovyソースファイル一本でお手軽アプローチは難しそうです。

easygspというのも・・・。

これは全く毛色の違う話ですが、EasyGSPというGroovyのWebアプリフレームワークがあるようです。

ちょっと良くわかりませんが、ある程度大きめのフレームワークっぽいです。

Tomcatも組み込めそう。

"Tomcat"という組み込み用のクラスが用意されてて、割りと簡単にTomcatを組み込みで起動とか出来るようにしてくれてるっぽいです。

参考:


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2013-05-25 00:47:16
md5:576fb0d8cae31d352d95e1467c9433c7
sha1:9b38ceca4353694cd11177723446249889e18f73
コメント
コメントを投稿するにはログインして下さい。