Когда вы создаете новый Крот, поведение по умолчанию для его методов и свойств - бросать MoleNotImplementedException
при каждом их вызове.
Для реализации крота вы можете сделать context.Dispose = () => {};
, чточто ничего не происходит, когда метод Dispose
вызывается в moled экземпляре. Я перечитал вопрос, и у вас, вероятно, возникла проблема, так как Dispose
определен в базовом классе.Чтобы вычислить базовый метод, вам нужно сделать следующее:
var context = new MJustTestingDataContext();
var baseContext = new MDataContext(context);
baseContext.Dispose = () => {};
Вам нужно будет реализовать каждое свойство / метод, который вызывается тестируемым кодом, или вы можете установить поведение по умолчанию для экземпляра mole в глобальном масштабе.используя метод BehaveAsDefaultValue
.Таким образом, каждый метод в моле ничего не будет делать и будет возвращать значение по умолчанию для своего возвращаемого типа, если таковой существует вместо броска MoleNotImplementedException
.Однако, если вам требуется такое поведение, лучше использовать заглушку, чем моль.