JUnit う~む

JUnit4のmockitoとJMockitのサンプルを書こうと思ったが・・・
@Mockや@injectmocksを書き、パラメータ間違いのエラーを解消すると、Internl Error になってしまった。
調べてみると、今のmockito 1.xはpublicなメソッドが対象で、JUnitの使い方にもよるが・・・ほぼ全ての参照先のメソッドをスタブ化した方がマシな現状を考えると適用範囲はかなり狭く、powerMockやJMockitなどが跋扈し、これに呼応しmockito 2.x(β版)が絶賛開発中なので、ビルドパスの順序やimportsの指定などの些末な問題は垂れ流しになっているようだ。そのため、JUnit+powerMockを組み合わせる場合はJUnit+powerMock用にカスタマイズされたIDE(Eclipse等)を後生大事に使うか・・・Eclipseのimports挿入機能をOFFつか・・・コマンドラインでガチガチに書くしかないようだ。
この様な微妙な塩梅が必要な状況ではザックリとjarファイルを管理するmavenでは心もとないので、勢いGradleラブ!ということになるのだろう。
Mockは見た目上は古くからあるEJBのインジェクション機能とそう変わらない。ソース中のアノテーションとClassクラスのメソッドを使い対象クラスのメソッド情報の取得しinvokeをOverloadでフックした先にMatchした条件に応じた反応(doReturnやdoException)するものだ。そのため、一旦インジェクションしてしまったmatchパターンを元の動作に戻せなかったりする。
なので、JUnitから考え直した方がいいんじゃないのかなと思った。
JUnit5なんてのもあるようなんで、こっちに寄り道してみよう。
そのJUnit5でも扱いにくそうなら・・・
自作ラッパーでJUniTestとでも名付ければいいだろう・・・と思った。
 




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA