[Seasar-user:16507] Re: インスタンスの差し替えと、MockInterceptorを使用したテストについて

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2008年 12月 12日 (金) 20:22:17 JST


小林様ありがとうございます。

西です。


>    @Resource
>    private XService subXService;
>
>または
>
>    @Resource(name="subXService")
>    private XService xService;
>
>とすれば可能です.

上記のようにすれば可能とのことですが、これだとインスタンスを差し替え
ようとするたびにソースコードに手を入れなければならないと思うのですが、
ソースコードに手を入れずに、diconファイルなどで差し替えることはできない
でしょうか?


よろしくお願いします。





Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> 
送信者: [E-MAIL ADDRESS DELETED]
2008/12/12 20:01
[E-MAIL ADDRESS DELETED] へ
返信してください


宛先
[E-MAIL ADDRESS DELETED]
cc

件名
[Seasar-user:16506] Re: インスタンスの差し替えと、MockInterceptorを使用し
たテストについて






小林 (koichik) です.

Date:    Fri, 12 Dec 2008 18:08:21 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:16504] インスタンスの差し替えと、MockInterceptorを使
用したテストについて

> public class XAction {
>     @Resource
>     private XService xService;  … (1)
> }
> 
> public class XService {
> }
> 
> public class SubXService extends XService {
> }
> 
> というように上記の3つのクラスがあった場合
> 普通の構成で動作させると(1)にはXServiceのインスタンスが
> インジェクションされると思いますが、これをSubXServiceを
> インジェクションするようにすることは可能でしょうか?

    @Resource
    private XService subXService;

または

    @Resource(name="subXService")
    private XService xService;

とすれば可能です.

> 2、MockInterceptorを使用してテストを行った場合に、
>    実行したメソッドの戻り値をオブジェクトにしたいと
>    思っているのですが、これをdiconファイルで記述
>    することは可能でしょうか?

以下のように指定できます.

<component class="...">
  <aspect>
    <component 
class="org.seasar.framework.aop.interceptors.MockInterceptor">
      <initMethod name="setReturnValue">
        <arg>"someMethod"</arg>
        <arg>
          <!--戻り値となるオブジェクトの定義 -->
          <component class="...">
          </component>
        </arg>
      </initMethod>
    </component>
  </aspect>
</component>

<component> には通常通り <property> や <initMethod> を
指定することができます.


-- 
<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/20081212/ce9a32af/attachment-0001.html>


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