BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース .NETのモックライブラリ、Moq

.NETのモックライブラリ、Moq

Moq(リンク)とは.NET 3.5の機能(例えばLinq expression tree やラムダ式)を利用できるよう設計され開発された.NETのモックライブラリ(リンク)である。Moqの目的とは、開発者にテストを書き直させたり広範囲なRecord/Replayのモックフレームワークを学習させたりする代わりに、既存のユニットテストへ自然に統合することを可能にし、単純で直接的にさせることである。Moqは、テストを書いているもののモックフレームワークを使用していない開発者を対象にしている。Moqのデザイン原理は非常に低い障害でエントリーでき、リファクタリングし易いことである。

Moqの機能は以下のとおり。
  • Strong-typed: 想定可能なstringはない。戻り値や制約を戻すオブジェクトタイプはない。
  • 最高のVSインテリセンス統合: すべて完全なVSインテリセンスをサポートする。想定の設定から、メソッドの呼び出し引数や戻り値の指定まで、など。
  • 学習すべきRecord/Replyイディオムはない。あなたがモックを構築し、想定結果を設定し、それを使用し、そして任意として検証するだけである。
  • これら3点のとても低いラーニングカーブ。ほとんどの場合、説明書を読む必要はない。
  • Granularが簡単なMockBehavior列挙による偽りの動作を制御する(mock、stub、fake、dynamic mockなどの理論的な違いを学習する必要はない)
  • Mockは調和され分類される。
  • 想定結果を無効にする:テストの際に必要に応じてfixture setupで初期設定の想定を設定でき、無効にもできる。
  • モッククラス用にコンストラクタに引数を渡す
  • モック上のインターセプトやraise event
  • Moqはオープンソース(ZIP)であり、より多くのコントリビュータを熱望している。ソースに加え、バイナリ(ZIP)とスタートアップガイド(リンク)がGoogle Code上に掲示されている。

    Daniel Cazzulino氏は、Moqの現役の保守管理者である。Moqを開発した理由と、Moqの有効的な使用方法を一連の記事(リンク)に載せている。

    原文はこちらです:http://www.infoq.com/news/2008/08/Moq

    この記事に星をつける

    おすすめ度
    スタイル

    BT