[記事紹介] マイコミジャーナル ~ 【ハウツー】 Moq を活用して .NET でモックを使ったテストを行う
この記事では、 Moq の使い方が紹介されています。 Moq は、 Google codeで公開されているモックライブラリーで、 NMock などに比べると簡単に使えることが特徴です。
マイコミジャーナル: 【ハウツー】 Moq を活用して .NET でモックを使ったテストを行う
2009/06/15
青木淳夫
モックを使うことで、 次のようなメリットが得られます。 ( 最終ページ )
モックを使わない場合、 単体テストというより結合テストに近くなってしまうことがあります。 また、 単体テストの内容が重複してしまうこともあります。 モックを使えば、 ターゲットクラスのテストに集中することができます。 テストクラスのセットアップメソッドをシンプルにできるため、テストメソッド間の依存度を下げることもできます。
ただし、 記事の中で示されているサンプルコードは、 あくまでも説明のためのコードであって、 実際にモックを使うような場面ではない、 ということを忘れないでください。 サンプルとして出てくる Calc クラスや IGreeting の実装クラス程度のものであれば、 仮実装するなり、 先にそちらの開発を進めてしまったりすることができますから。 そのことは記事の末尾に少し言及されています。
テスト時に、 実クラスを使うかモックを使うかの判断は状況によって変わってきますが、 モックという選択肢を知っておくことで、 ユニットテストの設計に柔軟性を持たせることができます。
モックを使わないと、 テストの実行に時間が掛かりすぎるとか、 テストの準備 ( データベースにデータを用意するなど ) が大変だとか、 そういった場合に使うとよいでしょう。 また、 並行して開発しているコードの完成を待つ間も、 それのモックを使うことで開発を進められます。 しかし、 モックを使うとそれだけテストは複雑になるわけですから、 それに見合ったメリットが得られるかどうか疑わしいときは、 モックは使うべきではありません。
| 固定リンク
「記事紹介」カテゴリの記事
- [記事紹介] MSDN マガジンの TDD 関連記事(2011.12.17)
- [記事紹介] CodeZine ~ C#で始めるテスト駆動開発(2011.12.12)
- [記事紹介] CodeZine ~ Visual Studio 単体テスト機能大全 第1回: Visual Studio で作る単体テスト、基本のき(2010.02.19)
- [記事紹介] Visual Studio のインテリセンスって、テストファースト中には邪魔だよね(2011.11.01)
- [記事紹介] CodeZine ~ Visual Studio 単体テスト機能大全 第1回: Visual Studio で作る単体テスト、基本のき (VS2010向け改訂版)(2011.04.05)

コメント