在您的测试项目中,首先要确保您添加组件对应的组件被测一个痣,你还需要添加装配欠的using
声明与.Moles
测试附加这样你就可以使用moled组装。
痣发生变化的类和方法的形式M[Original Class Name].[Original Method Name][typeof param1][typeof param2]...
的名字。在你的情况该方法的弯路可能看起来像MClass.BuildCustomerUpdatePlanListList = (List x, List y) => { [code]};
。它定义需要一个匿名方法两个List
s作为参数,你会把任何代码想要的功能。只要确保您使用该匿名方法返回IEnumerable
。
下面是使用摩尔绕行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;
指定我想用大会moled成员。
痣需要您指定Moled类型:[assembly: MoledType(typeof(System.IO.Directory))]
完成这项工作。
最后,Directory.GetFiles
以两个字符串作为参数并返回一个字符串数组。为了绕回该方法返回相当于没有找到的文件,moled方法只返回new string[0]
。如果在匿名方法中需要多行,并且如果不绕过void方法,则需要使用大括号来返回与原始方法返回的类型匹配的语句。