MVC3 и EF.Интерфейс для TDD - PullRequest
0 голосов
/ 26 сентября 2011

Может кто-нибудь объяснить, пожалуйста:

  1. Я использую MVC3 / C # / Razor для создания проекта, чтобы привыкнуть к использованию MVC.
  2. Я использую встроенный контроллер учетной записи.
  3. Я храню данные учетной записи в своей локальной базе данных SQL, используя Entity Framework для подключения.
    Как я могу легко создавать интерфейсы для EF?

  4. ТАК ДАЛЕЕ Я использую плагин из: http://blog.johanneshoppe.de/2010/10/walkthrough-ado-net-unit-testable-repository-generator/#step1

Это позволяет мне иметь интерфейс для уже созданных объектов.

Однако я знаю, что мне нужно изменить свои HomeController аргументы, чтобы принять либо реальный репозиторий, либо поддельный для тестирования.

Я полностью потерян!

1 Ответ

2 голосов
/ 26 сентября 2011

Посмотрите на это.Они помогут вам начать работу:

http://www.asp.net/entity-framework/tutorials/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application

http://msdn.microsoft.com/en-us/library/gg416511(VS.98).aspx

Для внедрения зависимостей вы можете выполнить следующие действия:

Install-Package Ninject.MVC3 с Nuget для вашего проекта ASP.NET MVC 3 (если ваше приложение на версии 3).Это в основном будет делать все.

Затем установите на вашем контроллере следующее:

    private IMyModelRepository _myrepo;

    public HomeController(IMyModelRepository myrepo)
    {
        _myrepo = myrepo;
    }

Перейдите в файл NinjectMVC3.cs в папке App_Start и добавьте следующий кодвнутри RegisterServices метод:

    private static void RegisterServices(IKernel kernel) {

        kernel.Bind<IMyModelRepository>().To<MyModelRepository >();

    }   

Запустите ваше приложение, и вы должны быть в рабочем состоянии.

...