UTFlute-0.1.2 Released

UTFlute-0.1.2 was released.
UTFlute-Seasar, UTFlute-Spring 両方リリースされています。

groupId: org.seasar.dbflute
artifactId: utflute-seasar (or utflute-spring)
version: 0.1.2

そもそも UTFlute てなんだ?って思う人は以下の記事へ。

// UTFlute-Seasar 0.1.0 Released
http://d.hatena.ne.jp/jflute/20110725/1311521047

0.1.2 では以下のような改善が:

A. inject() でDIするコンポーネントを Mock に差し替え
B. inject() でDIをしないコンポーネントをピンポイントで指定
C. assertEquals(int expected, Integer actual) を追加
D. newArrayList(), newHashMap() などのユーティリティ追加
E. replace(), splitList() などのユーティリティ追加

A は、prepareMockInstance() をオーバーライドして、
引数の mockInstanceList に Mock インスタンスを
追加すれば、そのクラスのDIではその Mock が利用されます。
つまり、依存先も Mock したい(自分で new したものにしたい)
という場合に利用します。

B は、prepareNoBindingType() をオーバーライドして、
引数の noBindTypeList にDIを除外するクラス(.class)を
追加すれば、そのクラスのDIはされなくなります。
そして、自分で明示的に set すれば好きなように Mock に
できますが、それって A と同じじゃんという感じです。
ただDIを止めるだけっていう用途に加えて、A よりも優先されるので、
共通の Mock 処理を上書きして別の Mock にしたいとか、
細かい場面での微調整に利用できるかなと。

C は、
assertEquals(3, member.getMemberId())
だと普通はコンパイルエラーになってしまうのを、
そのままでも比較できるようにした。ただそれだけ...

D は、テストの中でコレクションをよく利用するので楽に。
E は、テストの中で文字列操作をよく利用するので楽に。

まだまだ現場フィットが足りない UTFlute ですが、
既に現場で利用して頂いているようで、徐々に細かいところ
を微調整しながら発展していきたいと思います。

@DBFlute, Java, UTFlute, JUnit, 単体テスト, 自動テスト