Как смоделировать установщик свойств в PartialMock, используя Rhino Mocks

Я хотел бы предотвратить вызов реального установочного кода для свойства в частичном классе.

Какой синтаксис для этого?

Мой текущий код, чтобы заглушить получатель (я хотел бы также заглушить установщик):

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

Что-то вроде этого?

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

1 ответ

Решение

Вот пример 3.5, который делает то, что вам нужно (я думаю, что ваш синтаксис выше 3.1 или 3.2).

Во-первых, у меня есть делегат для вызова установщика свойства:

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();
Другие вопросы по тегам