EF4 - возможно для Mock ObjectContext для тестирования подразделения?

StackOverflow https://stackoverflow.com/questions/2703100

Вопрос

Можно ли сделать без использования Islolator Tymock? Я нашел несколько предложений в Интернете, например, проходящие в метаданных только соединительной строке, однако, что я не сталкиваюсь, помимо Tymock, по-видимому, по-настоящему разрешит MOCK ObjectContext, который может быть введен в службы для тестирования подразделения. Путе ли я парунку в $$ за TypeMock или есть ли альтернативы? Никто не удалось создать ничего сопоставимого с TypeMock, который является открытым исходным кодом?

Это было полезно?

Решение

Я легко тестирую EF4 без издевательства. Что я сделал, было создать интерфейс репозитория с помощью кода из http://elegantcode.com/2009/12/15/ange-framework-ef4-generic-repository-and-unit-of-work-prototype/ Как основа я тогда создал InMemoryRepository<T> класс, который использовал IRepository интерфейс. Затем я заменил IObjectSet<T> с А. List<T> Внутри класса и изменил методы поиска соответственно.

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

Другие советы

Поместите ваш запрос Linq2Entity за интерфейсом, проверьте его в изоляцию против реальной базы данных.

Напишите тесты для вашей бизнес-логики с помощью Mocks для ваших интерфейсов запросов. Не позволяйте Linq кровоточить в свою деловую логику!

Не используйте ReposityPattern!

Оберните объектContext в прокси-классе. Затем введите это в ваши классы.

Я не думаю, что шаблон репозитория является единственным ответом на вопрос (это позволяет избежать проблемы, конечно)

Мне понравился этот ответ - я думаю, что более подходит для внедрения тестов на существующую кодовую базу Создание интерфейса для ObjectContext

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top