Привязка приватного члена контроллера

У меня есть приложение MVC, использующее пакет Ninject.Mvc3, а также проект тестирования NUnit для него.

Все контроллеры наследуются от следующего базового контроллера

public class BaseController : Controller
{
    [Inject]
    protected IRepository Repository { get; set; }

    // ...
}

NinjectWebCommon.RegisterServices похоже

private static void RegisterServices(IKernel kernel)
{
    kernel.Settings.InjectNonPublic = true;
    kernel.Bind<IRepository>().To<Repository>().InRequestScope();

    // ...
}

Во время работы веб-проекта привязка работает.

Однако как настроить ядро ​​Ninject в проекте тестирования для привязки члена Repository в контроллере? Я не могу понять, как это сделать, что член Repository использует ядро ​​из NinjectWebCommons для разрешения привязки. Текстовый поиск по проекту мне ничего не дает.

[UPD]:

        var kernel = new StandardKernel();
        kernel.Settings.InjectNonPublic = true;
        kernel.Bind<IRepository>().To<Repository>().InRequestScope(); 
        var controller = kernel.Get<BlahBlahBlahController>();
        controller.SetFakeControllerContext();
        //...

Вот как я должен установить ядро ​​Ninject в тестовом проекте. Вторая часть вопроса для меня до сих пор неясна.

0 ответов

Другие вопросы по тегам