[Seasar-user:18329] Re: [S2Container]インタフェース未作成時のテスト技法について

kubo [E-MAIL ADDRESS DELETED]
2009年 8月 19日 (水) 15:28:25 JST


久保(jflute)です。

何が推奨されているか?という問いに対する答えじゃないですが、
参考までに自分がよくやっている方式を情報共有させて頂きます。

まず一つは、DBAもしくはデータ作成担当の人がDBのテストデータを
しっかりと事前に用意して、Mock無しで一気通貫でActionクラス
(or Pageクラス)のIn/Outをテストします。
この場合インターフェースがあろうがなかろうがあんまり関係がないです。

もう一つは、どうしてもとある処理をMockにしたいときは、

FooAction  action = new FooAction();
action.setBarService(new BarService() {
    public Xxx bar() {
        return // 好きなように処理を変える
    }
});

というように、対象メソッドをオーバーライドして、
そのテストケースに都合の良い処理に変更します。
インターフェースが無くても問題なく実装できます。

基本的には前者のやり方を主流としていますが、
ピンポイントでどうしてもってときに後者を使っています。

参考ということで。

2009/8/19  <[E-MAIL ADDRESS DELETED]>:
>
> お世話になっております。
>
> 小嶋と申します。
>
>
> Seasar2.4からインタフェースを作成しなくても
> 自動バインディング等が可能となり、
> Action, Service等、インタフェースを作成しない方式を
> 推奨しているとお聞きしました。
>
> そこで、インタフェースを作成していない場合の
> テスト技法についてご質問させてください。
>
> Serviceにてインタフェースを作成していないと仮定した場合、
> Action単体のUTを行う際のテスト技法はどのような方法を
> 推奨されているのでしょうか。
>
> Serviceのインタフェースが無いため、MockInterceptorを利用した
> テストが出来ないと認識しております。
>
> 上記ケースのテストを実施することが想定されるのであれば、
> あらかじめインタフェースを作成しておく設計にしておかなければならないのでしょうか?
>
> よろしくお願いいたします。
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>


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