Модульное тестирование DbContext

. Я изучил некоторую информацию о методах, которые я мог бы использовать для модульного тестирования DbContext . Я хотел бы добавить некоторые данные в памяти в контекст, чтобы мои тесты могли работать с ними. Я использую подход Database-First.

Две статьи, которые я нашел наиболее полезными, были this и this . Этот подход основан на создании интерфейса IContext, который будет реализован как MyContext, так и FakeContext, что позволяет имитировать контекст.

Однако я стараюсь избегать использования репозиториев для абстрагирования EF, как указал ] некоторые люди, поскольку EF 4.1 уже реализует репозиторий и шаблоны единиц работы через DbSet и DbContext, и я действительно хотел бы сохранить все функции, реализованные командой EF, без необходимости поддерживать их самостоятельно с помощью общего репозитория, поскольку Я уже делал это в другом проекте (и это было довольно болезненно).

Работа с IContext приведет меня к тому же пути (или нет?).

Я думал о создании FakeContext который наследуется от основного MyContext и, таким образом, использует DbContext под ним для запуска моих тестов, не затрагивая базу данных. Мне не удалось найти аналогичные реализации, поэтому я надеюсь, что кто-то может мне помочь в этом.

Я делаю что-то не так или это может привести к некоторым проблемам, которых я не ожидаю?

50
задан Community 23 May 2017 в 02:32
поделиться