[Seasar-user:16311] Re: [s2-container] あるテストのときだけMockInterceptorを使ったMockに置き換えたいとき

Mitsutaka Sato [E-MAIL ADDRESS DELETED]
2008年 11月 17日 (月) 15:40:09 JST


小林様
いつもお世話になっております。

なるほど、理解できました。
丁寧な解説ありがとうございました。


2008/11/17 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>

> 小林 (koichik) です.
>
> Date:    Mon, 17 Nov 2008 13:19:18 +0900
> From:    "Mitsutaka Sato" <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:16308] Re: [s2-container]
> あるテストのときだけMockInterceptorを使ったMockに置き換えたいとき
>
> > mock.diconのほうにname属性をつけてやってみたのですが、
> > logic.diconに用意したほうがセットされてしまいました。
> >
> > 下記の例でいう、HogeServiceとHogeLogicは両方とも logic.dicon に
> > 登録されている形です。
>
> それでは app.dicon で mock.dicon をインクルード
> していても,logic.dicon からは mock.dicon が
> 見えないのでモックは DI されません.
> [Seasar-user:16297] で書いた
>
> > > app.dicon
> > >   foo.dicon
> > >     baz.dicon
> > >   bar.dicon
> > >
> > > app.dicon に定義されているコンポーネントからは,
> > > 上記の順番で優先的に見えます.
>
> の「app.dicon に定義されているコンポーネントから」が
> ポイントです.
> コンポーネントは,それが定義されている dicon
> およびその dicon がインクルードしている dicon に
> 定義されているコンポーネントだけが見えます (DI の
> 対象になります).
> 親の dicon に定義されたコンポーネントは
> 見えません (DI の対象になりません).
>
> 上記例で foo.dicon に定義されているコンポーネント
> からは foo.dicon および baz.dicon に定義されている
> コンポーネントが見えますが,app.dicon および
> bar.dicon に定義されているコンポーネントは
> 見えません.
>
> [Seasar-user:16297] でも書いた以下の図が
> 分かりやすいと思うので参照してください.
>
>
> http://s2container.seasar.org/2.4/s2-framework/ja/apidocs/org/seasar/framework/container/S2Container.html
>
> Logic を切り替えたいのであれば,HogeService は
> app.dicon あるいは service.dicon に定義し,
> そこで mock.dicon および logic.dicon を
> インクルードしてください.
>
>
> --
> <component name="koichik">
>    <property name="fullName">"Koichi Kobayashi"</property>
>    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
>    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20081117/cbe780a6/attachment-0001.html>


Seasar-user メーリングリストの案内