Это может быть сделано, не используя TypeMock Islolator? Я нашел несколько предложений онлайн, таких как передача в метаданных только строка подключения, однако ничто, с чем я столкнулся помимо TypeMock, кажется, действительно допускает ложный ObjectContext, который может быть введен на службы для поблочного тестирования. Я швыряю $$ для TypeMock или являюсь там альтернативами? Никому не удалось создать что-либо сопоставимое с TypeMock, который является открытым исходным кодом?
Я легко тестирую EF4 без насмешек. Я создал интерфейс репозитория, используя код из http://elegantcode.com/2009/12/15/entity-framework-ef4-generic-repository-and-unit-of-work-prototype/ в качестве основы затем я создал класс InMemoryRepository
, который использовал интерфейс IRepository
. Затем я заменил IObjectSet
на List
внутри класса и соответственно изменил методы поиска.
Таким образом, если вам нужно выполнить модульное тестирование, передайте InMemoryRepository, а не DataRepository.
Оберните ObjectContext в прокси-класс. Затем введите это в свои классы.