Имеет ли Ninject и эквивалентный метод для регистрации единства единицы.Ninject эквивалент Unity RegisterInstance метод
Я хочу создать макет объекта и зарегистрировать его.
Благодаря
Имеет ли Ninject и эквивалентный метод для регистрации единства единицы.Ninject эквивалент Unity RegisterInstance метод
Я хочу создать макет объекта и зарегистрировать его.
Благодаря
Вот простой ответ
Bind<IMyType>().ToConstant<MyType>(new MyType());
Так вот пример использования Moq:
var mock = new Mock<IMyType>();
//Setup your mock expectations/etc here.
//...
Bind<IMyType>().ToConstant(mock.Object);
Bonus ответ:
Я считаю, что некоторые люди на самом деле просто ищут для создания одиночного экземпляра определенного класса, а не для создания (это позволяет создавать объект, когда что-то его запрашивает, а не при создании контейнера). Это делается так:
Bind<IMyType>.To<MyType>().Using<SingletonBehavior>();
В вашем случае, так как вы сказали слово «издеваться», я полагаю, вы бы хотите первый, а не второй ответ, но это хорошая вещь, чтобы знать.
Не знаете, какой инструмент для издевательств, если таковой имеется, или версию Ninject, которую вы используете; однако стоит упомянуть, что Ninject 2 имеет расширение для него, которое обеспечивает интеграцию с Moq - http://github.com/enkari/ninject.moq.
Я понимаю, что это прямо не отвечает на ваш вопрос, Anderson's делает это хорошо, но подумал, что это может быть уместно в любом случае.
Nice! Это может быть действительно то, что он ищет. –
Да, хорошо выглядит - еще не использовал его сам, но хотел бы сделать это в ближайшее время. –
использование Moq ... var mock = new Mock(); Bind () .ToConstant (mock); ConstantProvider бы создать экземпляр Мок , который не совместим с запрашиваемой услуги –
Ryu
вам нужно пройти в MyMock.Object, а не сама :) –
издеваться я буду обновлять образец выше с кодом вам нужно –