如何使用Rhino Mocks在PartialMock上模拟属性设置器

时间:2010-05-05 08:47:07

标签: .net properties rhino-mocks

我想阻止在部分类的属性上调用真正的setter代码。

这是什么语法?

我当前的代码来存根 getter (我也想要删除setter):

var user = MockRepository.GeneratePartialMock<User>(ctor params...);
user.MyProperty = "blah";

这样的东西?

user.Stub(u => u.MyProperty).Do(null);

1 个答案:

答案 0 :(得分:1)

这是一个3.5样本,可以满足您的需求(我认为您的语法是3.1或3.2)。

首先,我有一个属性setter调用的委托:

private delegate void NoAction(string value);

然后使用Expect.Call和“SetPropertyAndIgnoreArgument”以及“Do”:

var repository = new MockRepository();
var sample = repository.PartialMock<Sample>();

Expect.Call(sample.MyProperty).SetPropertyAndIgnoreArgument().Do(new NoAction(DoNothing));
sample.Replay();

sample.DoSomething();

repository.VerifyAll();