S2Dao + S2JUnit4 の罠
ひさびさの罠シリーズ(?)です。S2JUnit4 の説明によりますと
フィールドの変数定義がインターフェース型でそのインタフェースをもつコンポーネントがコンテナに存在する場合、そのコンポーネントがフィールドにセットされる。
とありますが、これが S2Dao(1.0.40 を使用)の DAO である場合、うまく動きません(たぶん)。うまく動かないときのコンポーネント定義は↓でした。
<component class="example.HogeDao"> <aspect>dao.interceptor</aspect> </component>
名前をつけてやり、フィールド名と一致させるとうまくいきました。
<component name="hoge" class="example.HogeDao"> <aspect>dao.interceptor</aspect> </component>