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

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 8月 20日 (木) 11:19:46 JST


久保様


お世話になっております。小嶋と申します。

情報共有ありがとうございます。

> まず一つは、DBAもしくはデータ作成担当の人がDBのテストデータを
> しっかりと事前に用意して、Mock無しで一気通貫でActionクラス
> (or Pageクラス)のIn/Outをテストします。
> この場合インターフェースがあろうがなかろうがあんまり関係がないです。
ボトムアップで繋げていくテストは、私も経験があります。
Mockの作成工数などを考慮すると上記のようなケースが多いのかも知れません。

> もう一つは、どうしてもとある処理をMockにしたいときは、
> 
> FooAction  action = new FooAction();
> action.setBarService(new BarService() {
>     public Xxx bar() {
>         return // 好きなように処理を変える
>     }
> });
> 
> というように、対象メソッドをオーバーライドして、
> そのテストケースに都合の良い処理に変更します。
> インターフェースが無くても問題なく実装できます。
これはやり過ぎると仕様変更の際に修正が大きそうですが、
あくまでどうしてもという時のみ用いているということですね。

参考になりました。


◆――― ― ‐‐‐ ‐                    ‐ ‐‐‐ ― ―――◆
           小嶋  佑介 (Yusuke OJIMA)
           株式会社アイ・ティ・フロンティア
           コンピテンスセンター 開発技術部

           〒104-6032  東京都中央区晴海 1-8-10
           トリトンスクエア オフィスタワーX
           Tel : 03-6221-4034  Fax : 03-6221-7962
           Email : [E-MAIL ADDRESS DELETED]
◆――― ― ‐‐‐ ‐                    ‐ ‐‐‐ ― ―――◆


[E-MAIL ADDRESS DELETED] wrote on 2009/08/19 15:28:25:

> 久保(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 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/20090820/9bbc7d07/attachment.html>


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