Как смоделировать установщик свойств в 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();