У меня есть подобное предложение с Джеем, только короче.Не уверен, что у этого есть какие-то недостатки, поэтому.
int count = 0;
var mock = MockRepository.GenerateStub<ICell>();
mock.Stub(p => p.Value).WhenCalled(a => a.ReturnValue = count).Return(42);
mock.Stub(p => p.IncrementValue()).WhenCalled(a => {
count = (int)count+1;
});
Return (42) помещается туда, чтобы сказать «Значение возвращает что-то, не бросайте», и переопределение WhenCalled (a => a.ReturnValue = count)которые возвращают вейл 42 с текущим значением счета.