У меня есть класс TxRx со свойством Common. Затем Common имеет свойство LastMod. Я хочу написать ожидание RhinoMock, чтобы показать, что LastMod был установлен с чем-то. Итак, я попытался:
var txRx = MockRepository.GenerateMock<TxRx>();
var common = MockRepository.GenerateMock<Common>();
txRx.Expect(t => t.Common).Return(common);
txRx.Expect(t => t.Common.LastMod).SetPropertyAndIgnoreArgument();
Но я получаю следующее исключение:
System.InvalidOperationException: Invalid call, the last call has been used or no call has been made (make sure that you are calling a virtual (C#) / Overridable (VB) method).
at Rhino.Mocks.LastCall.GetOptions[T]()
at Rhino.Mocks.RhinoMocksExtensions.Expect[T,R](T mock, Function`2 action)
at ...
Я предполагаю, что это означает, что Common должен быть виртуальным, но, поскольку это свойство сгенерированного класса LinqToSql, я не могу сделать его виртуальным (кроме взлома кода автогена, что на самом деле не вариант).
Есть ли способ обойти это?