テスト プロジェクトでは、最初に、テスト対象のアセンブリに対応する Moles アセンブリを必ず追加してください。また、モールドされたアセンブリを使用できるように、using
テスト中のアセンブリのステートメントを追加する必要があります。.Moles
Moles は、クラスとメソッドの名前を の形式に変更しますM[Original Class Name].[Original Method Name][typeof param1][typeof param2]...
。あなたの場合、そのメソッドの迂回は次のようになりMClass.BuildCustomerUpdatePlanListList = (List x, List y) => { [code]};
ます。これは、2 つの s をパラメーターとして受け取る匿名メソッドを定義し、List
必要なコードを関数に配置します。IEnumerable
その匿名メソッドでを返すことを確認してください。
Moles を使用して迂回する例を次に示しDirectory.GetFiles
ます。
using System.IO.Moles;
[assembly: MoledType(typeof(System.IO.Directory))]
...
MDirectory.GetFilesStringString = (string x, string y) => new string[0];
Directory
クラスは のメンバーであるため、アセンブリのモールディング メンバーを使用することを指定するためSystem.IO
に使用します。using System.IO.Moles;
Moles では、Moled のタイプを指定する必要があります[assembly: MoledType(typeof(System.IO.Directory))]
。
最後に、Directory.GetFiles
2 つの文字列をパラメーターとして取り、文字列配列を返します。ファイルが見つからない場合と同等の結果を返すようにメソッドを迂回させるために、moled メソッドは単に を返しますnew string[0]
。匿名メソッドに複数の行が必要な場合は中括弧が必要です。また、void メソッドを迂回しない場合は、元のメソッドが返す型と一致する return ステートメントが必要です。