C# 犀牛如何嘲弄人?
我想知道Rhino Mocks是如何发现我想要存根的方法的。下面的示例将方法C# 犀牛如何嘲弄人?,c#,mocking,rhino-mocks,C#,Mocking,Rhino Mocks,我想知道Rhino Mocks是如何发现我想要存根的方法的。下面的示例将方法GetUserByName: var stubUserRepository = MockRepository.GenerateStub<IUserRepository>(); stubUserRepository.Stub(x => x.GetUserByName("ayende")).Return(theUserObject); var stubUserRepository=MockReposito
GetUserByName
:
var stubUserRepository = MockRepository.GenerateStub<IUserRepository>();
stubUserRepository.Stub(x => x.GetUserByName("ayende")).Return(theUserObject);
var stubUserRepository=MockRepository.GenerateStub();
stubUserRepository.Stub(x=>x.GetUserByName(“ayende”)).Return(theUserObject);
在下面的示例中,我只是将一个委托转发给框架
我认为这是使用方法签名。我说得对吗
它使用反射吗?如果是,如何进行
我在哪里可以找到它?它是如何工作的
我用的是C#和瞬间。
我想知道背后的概念和C#应用的东西。调用
存根
设置了一个可选的Expect
调用。传递给Stub
(x=>x.GetUserByName(“ayende”)
,在本例中)的函数实际上是针对模拟对象(对象)执行的。该调用被截获并记录在MockRepository
中,其中包含其参数。根据保存的有关调用的数据生成一个IMethodOptions
对象并返回,随后调用该对象
您可以使用类似的工具来更详细地分解和检查Rhino.Mocks.dll;相关代码在
RhinoMocksExtensions.cs
中,在Rhino.Mocks
名称空间中。只想添加到伟大的Chris的答案中