« [イベント] 告知 - Tech・Ed 2009 ( 8/26-28, 横浜 ) | トップページ | [記事紹介] CodeZine ~ レガシーコードの定義、テストの重要性とは »

2009年7月 7日 (火)

[記事紹介] マイコミジャーナル ~ 【ハウツー】 Moq を活用して .NET でモックを使ったテストを行う

この記事では、 Moq の使い方が紹介されています。 Moq は、 Google codeで公開されているモックライブラリーで、 NMock などに比べると簡単に使えることが特徴です。

マイコミジャーナル: 【ハウツー】 Moq を活用して .NET でモックを使ったテストを行う
2009/06/15
青木淳夫

モックを使うことで、 次のようなメリットが得られます。 ( 最終ページ )

モックを使わない場合、 単体テストというより結合テストに近くなってしまうことがあります。 また、 単体テストの内容が重複してしまうこともあります。 モックを使えば、 ターゲットクラスのテストに集中することができます。 テストクラスのセットアップメソッドをシンプルにできるため、テストメソッド間の依存度を下げることもできます。

ただし、 記事の中で示されているサンプルコードは、 あくまでも説明のためのコードであって、 実際にモックを使うような場面ではない、 ということを忘れないでください。 サンプルとして出てくる Calc クラスや IGreeting の実装クラス程度のものであれば、 仮実装するなり、 先にそちらの開発を進めてしまったりすることができますから。 そのことは記事の末尾に少し言及されています。

テスト時に、 実クラスを使うかモックを使うかの判断は状況によって変わってきますが、 モックという選択肢を知っておくことで、 ユニットテストの設計に柔軟性を持たせることができます。

モックを使わないと、 テストの実行に時間が掛かりすぎるとか、 テストの準備 ( データベースにデータを用意するなど ) が大変だとか、 そういった場合に使うとよいでしょう。 また、 並行して開発しているコードの完成を待つ間も、 それのモックを使うことで開発を進められます。 しかし、 モックを使うとそれだけテストは複雑になるわけですから、 それに見合ったメリットが得られるかどうか疑わしいときは、 モックは使うべきではありません。

|

« [イベント] 告知 - Tech・Ed 2009 ( 8/26-28, 横浜 ) | トップページ | [記事紹介] CodeZine ~ レガシーコードの定義、テストの重要性とは »

記事紹介」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: [記事紹介] マイコミジャーナル ~ 【ハウツー】 Moq を活用して .NET でモックを使ったテストを行う:

« [イベント] 告知 - Tech・Ed 2009 ( 8/26-28, 横浜 ) | トップページ | [記事紹介] CodeZine ~ レガシーコードの定義、テストの重要性とは »