[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 メーリングリストの案内