Я изучил некоторую информацию о тех методах, которые я мог бы использовать для unit test DbContext. Я хотел бы добавить некоторые данные в памяти в контекст, чтобы мои тесты могли работать против него. Я использую подход Database-First.
Две статьи, которые я нашел наиболее полезными, были this и this. Этот подход основан на создании интерфейса IContext, который будут реализовываться как MyContext, так и FakeContext, позволяя Mock контекст.
Однако я стараюсь избегать использования репозиториев для абстрактного EF, поскольку указал несколько человек, поскольку EF 4.1 уже реализует репозиторий и единицу рабочих шаблонов через DbSet и DbContext, и я действительно хотел бы сохранить все функции, реализованные EF Team, не имея необходимости поддерживать их с помощью общего хранилища, как я уже делал в другом проекте (и это было болезненно).
Работа с IContext приведет меня к одному и тому же пути (или не так ли?).
Я думал о создании FakeContext, который наследуется от основного MyContext и, таким образом, использует DbContext под ним для запуска моих тестов без попадания в базу данных. Я не мог найти подобных реализаций, поэтому я надеюсь, что кто-то может мне помочь в этом.
Я делаю что-то неправильно, или это может привести меня к некоторым проблемам, которые я не ожидаю?