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

日記/2010/10/14/Mockito + PowerMock、かなりオススメ (v1)

日記/2010/10/14/Mockito + PowerMock、かなりオススメ (v1)

日記 / 2010 / 10 / 14 / Mockito + PowerMock、かなりオススメ (v1)
id: 811 所有者: msakamoto-sf    作成日: 2010-10-14 23:24:05
カテゴリ: Java 

なんだかんだで、「アレが出来ない、コレが大変」と書いてきてしまったけど、static/final/private系絡みを回避していれば、かなり使いやすいのでオススメと言える。
インターフェイスのmockがサクサク作れるので、依存性注入な構造のコードであれば嵌りどころも少ない。

static/final/private系を完全に回避出来ているならMockitoのみで平気。
多少でもこれらがまざってくるなら、PowerMockを組み合わせましょう。

Apache MINAで簡単なEchoサーバのサンプルのテストコードを昨日・今日と書いていたのだけれど、IoHandlerやProtocolDecoder/Encoderなど、インターフェイス(or Adapter)を実装したシンプルなPOJOの部分は、あれほどstaticやMBeanServerで苦労したのが嘘だったかのように「さっくり」と書けてしまった。

"System.exit()をmockする"のと"ManagementFactory.getPlatformMBeanServer()"で嵌った時間を合わせて丁度、IoHandlerやProtocolDecoder/Encoder周りのテストコードに費やした時間とイーブンくらい。

嵌りどころを回避出来ていれば、かなり使いやすい。

近日中に今回でっち上げたEchoサーバのコードをcodereposにUPします。echoes.act9になります。

  1. echoes.act8を若干修正
  2. Maven化
  3. JMX Integration 組み込み
  4. シャットダウン専用ポートを使ったgraceful-shutdown
  5. Mockito & PowerMock によるUnitTest
  6. Commons Daemon によるWindowsサービス登録/削除BATの提供

只のEchoサーバの割には気合い入れてます。まぁその分、元は取れたと思います。Maven/JMX/Mockito系/Commons Daemonなど、一通り体に通しておきたかったテクニックでした。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-10-14 23:37:11
md5:d274243797ff1f247bb3d0f6d9af614c
sha1:5a91af747aac9e577baaddfb9d4060c9f1b0c554
コメント
コメントを投稿するにはログインして下さい。