人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

xxxUnitを使った単体テストをするとき、モックというのが便利だと聞きます。
しかしモックというモノがどういうもので、どういう局面の時に効力を発揮するのかが、ピンと来ません。

そこで単体テストを実際に行っていて、かつモックというものを活用している人はどこが便利で、どういう局面で使っているのでしょうか。

体験談や、わかりやすい説明のあるウェブページを教えてください。

●質問者: takets
●カテゴリ:インターネット ウェブ制作
✍キーワード:ウェブページ モック 体験談 単体テスト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント

KikainekoMocker Project Web Site

リンク先はモックオブジェクトの自動生成ツールですが、大まかなところは説明されていると思います。


主な目的として、

作成することが多いのではないでしょうか。

◎質問者からの返答

ありがとうございました。

確かにDBの仕様が固まっていない場合は、とりあえずこの数字を返す処理を行う、というのが気軽に出来ると有効ですね。


2 ● smeghead
●35ポイント

> 外部リソース(DB等)に依存するモジュールだとテストしにくいのでダミーとして

b-wind さんの補足のような内容ですが。


テスト対象のロジックを絞り込むために使用しています。


クラスAと、クラスAを使用(クラスAのロジックに依存)するクラスBを作成したとします。

・クラスAのテスト作成

クラスAの単体テストの対象はクラスAのロジックのみであり、普通に(mockを使用せずに)xUnitを使用してテストコードを書くことができます。


・クラスBのテスト作成

本来テスト対象は、クラスBのロジックのみであり、クラスAの処理結果に依らずテストが行なえることが望ましいです。

しかし、クラスBのロジックはクラスAの処理結果に依存していますので、純粋にクラスBに対しての単体テストの対象をクラスBのロジックのみに限定することができません。


ここで、クラスAのmockを使用することで、実際のクラスAの処理結果に依存することなく、純粋にクラスBのロジックに対してのテストを行なうことができるようになります。


クラスAがDBアクセスするクラスで、クラスBがサービスクラスに該当することが多いと思います。

jmockを使用したことがあります。

http://www.jmock.org/

◎質問者からの返答

ありがとうございました。

実例を交えた、わかりやすい説明でした。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ