项目主页:
http://dotnet.dimple.googlepages.com/home
存在意义:
快速制作测试用的stub。手工继承,mock框架之外的第三种选择。
简单使用:
public class StubDbCommand
{
public object ExecuteScalar()
{
return "Hello";
}
public static DbCommand New()
{
return NDimple.Implement<DbCommand>(new StubDbCommand());
}
}
Console.WriteLine(StubDbCommand.New().ExecuteScalar());
{
public object ExecuteScalar()
{
return "Hello";
}
public static DbCommand New()
{
return NDimple.Implement<DbCommand>(new StubDbCommand());
}
}
Console.WriteLine(StubDbCommand.New().ExecuteScalar());
Output:
Hello
独家特性:
public abstract class AbstractClass
{
protected abstract string AbstractMethod1();
protected abstract string AbstractMethod2();
public string InvokeAbstractMethod1()
{
return AbstractMethod1();
}
}
public abstract class StubAbstractClass : AbstractClass
{
protected override string AbstractMethod1()
{
return "Hello";
}
public static AbstractClass New()
{
return NDimple.Implement<AbstractClass>(typeof (StubAbstractClass));
}
}
Console.WriteLine(StubAbstractClass.New().InvokeAbstractMethod1());
{
protected abstract string AbstractMethod1();
protected abstract string AbstractMethod2();
public string InvokeAbstractMethod1()
{
return AbstractMethod1();
}
}
public abstract class StubAbstractClass : AbstractClass
{
protected override string AbstractMethod1()
{
return "Hello";
}
public static AbstractClass New()
{
return NDimple.Implement<AbstractClass>(typeof (StubAbstractClass));
}
}
Console.WriteLine(StubAbstractClass.New().InvokeAbstractMethod1());
Output:
Hello