使用FakeItEasy,如何在假冒的属性上设置值?

Sté*_*écy 13 c# mocking fakeiteasy

使用FakeItEasy,我试图捕获假对象上的属性值的设置:

首先是界面:

interface ISomeInterface
{
    int MyProperty {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

然后是单元测试的一个片段:

var myObject = A.Fake<ISomeInterface>();

int saved = 0;
A.CallTo (() => myObject.MyProperty).Invokes (x => saved = ?????);

SomeMethod (myObject);
Assert.That (saved, Is.EqualTo (100));
Run Code Online (Sandbox Code Playgroud)

而且有

void SomeMethod (ISomeInterface intf)
{
    intf.MyProperty = 100;
}
Run Code Online (Sandbox Code Playgroud)

我不知道要替换什么?????

Pat*_*gne 13

var myObject = A.Fake<ISomeInterface>();

SomeMethod (myObject);
Assert.That (saved.MyProperty, Is.EqualTo(100));
Run Code Online (Sandbox Code Playgroud)

  • 好吧,有两种方法,A.CallTo(()=> myObject.MyProperty).Returns(100); 或者只是myObject.MyProperty = 100;. (5认同)