【NUnit】【Mock】Moles ~導入編~

■ 概要

 * Microsoft Research製のモックフレームワーク

特徴

 * 既存のクラスの静的/インスタンスメソッド/プロパティの動作を、自由に置き換えることが可能
  ⇒つまり、Console.WriteLineやDateTime.Nowといったものまで自由にコントロール可能


■ 設定

http://d.hatena.ne.jp/thinkAmi/20130108/1357596368
を参考に設定する

★注意★
まだ上手くいってない

構築環境

 * WindowsXP
 * Visual Studio 2010 Express
 * NUnit Ver2.5.9
 * Moles Ver 

手順

 [1] Molesを以下のサイトよりダウンロードする
http://visualstudiogallery.msdn.microsoft.com/22c07bda-ffc9-479a-9766-bfd6ccacabd4/
 [2] 落としてきたExeを実行し、Molesをインストールする
 [3] NUnit向けのMolesをビルドを行うために、以下のファイルを任意の場所へコピーして、解凍する
  ~~~
  C:\Program Files\Microsoft Moles\Documentation\moles.samples.zip
  ~~~
 [4] 以下のプロジェクトをVSで開く
  ~~~
  <解凍先>\moles.samples\moles\NUnit\Microsoft.Moles.NUnit.csproj
  ~~~
 [5] 「VisualStudio変換ウィザードへようこそ」が開くので、変換する
 [6] 「nunit.core.interfaces」に警告マークを取るために、、VSの「参照の追加」から以下のDLLを選択
  ⇒警告が消えるはず
  ~~~
  C:\Program Files\NUnit 2.5.9\bin\net-2.0\lib\nunit.core.interfaces.dll
  ~~~
 [7]リビルドする
   ⇒slnファイルの置き場所を聞かれるので、デフォルトのまま保存
 [8]リビルド後、NUnitへMolesのファイルを追加するために、以下の2つのファイルをコピー先に置く
  ~~~
  (1) Microsoft.Moles.NUnit.dll
  (2) Microsoft.Moles.NUnit.XML

    コピー元	<展開パス>\moles.samples\moles\NUnit\bin\Debug
  コピー先	C:\Program Files\NUnit 2.5.9\bin\net-2.0\addins
  ~~~
 [9]VSのメニューバーの[ツール]-[外部ツール]-[追加]ボタン押下で、以下を入力する
  ~~~
  タイトル:任意の文字列(ここでは「Moles」とする)
  コマンド:C:\Program Files\Microsoft Moles\bin\moles.runner.exe
  引数  :$(BinDir)/$(TargetName).exe /runner:"C:\Program Files\NUnit 2.5.9\bin\net-2.0\nunit-console.exe" /x86
  初期ディレクトリ:$(ProjectDir)
  終了時にウィンドウを閉じる:チェックを外す
  ~~~