Mar*_*lis 3 .net parameters methods delegates
无论我如何尝试,我都无法模仿Rhino Mocks的干净语法,而无需声明代表.
例:
Expect.Call(service.HelloWorld("Thanks"))
Run Code Online (Sandbox Code Playgroud)
你对如何做到这一点有任何想法吗?
谢谢.
您可以使用较新版本的.NET中提供的Action委托
void Execute(Action action) {
action();
}
void Test() {
Execute(() => Console.WriteLine("Hello World!"));
}
Run Code Online (Sandbox Code Playgroud)
在3.5中使用Lambda语法可以获得类似的语法.
public void Call(Action action)
{
action();
}
Expect.Call(() => service.HelloWorld("Thanks"));
Run Code Online (Sandbox Code Playgroud)
Moq是一个模拟框架,它使用Lambda语法进行模拟.
var mock = new Mock<IService>();
mock.Setup(service => service.HelloWorld("Thanks")).Returns(42);
Run Code Online (Sandbox Code Playgroud)