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, 単体テスト, 自動テスト