Если конкретные методы вызывают какой-либо из абстрактных методов, что стратегия не будет работать, и Вы хотели бы протестировать каждое поведение дочернего класса отдельно. Иначе расширение его и блокирование абстрактных методов, как Вы описали, должны быть прекрасными, снова если методы бетона абстрактного класса разъединяются от дочерних классов.
Вот простой ответ
Bind<IMyType>().ToConstant<MyType>(new MyType());
Итак, вот пример использования Moq:
var mock = new Mock<IMyType>();
//Setup your mock expectations / etc here.
//...
Bind<IMyType>().ToConstant(mock.Object);
Бонусный ответ:
Я обнаружил, что некоторые люди на самом деле просто хотят создать одноэлементный экземпляр определенного class, а не создавать его сами (это позволяет создавать объект, когда что-то его запрашивает, а не когда вы создаете свой контейнер). Это делается так:
Bind<IMyType>.To<MyType>().Using<SingletonBehavior>();
В вашем случае, поскольку вы произнесли слово «насмешка», я предполагаю, что вам нужен первый, а не второй ответ, но это полезно знать.
Не знаю, какой инструмент издевательства, если он есть, или версию Ninject вы используете; однако стоит упомянуть, что Ninject 2 имеет расширение для него, которое обеспечивает интеграцию с Moq - http://github.com/enkari/ninject.moq .
Я понимаю, что это не дает прямого ответа на ваш вопрос, Андерсона делает это хорошо, но подумал, что это все равно может иметь значение.