Я использую EF4 в своем приложении и хочу создать контрольные примеры для методов DAL, которые обычно попадают в базу данных для получения данных. Я использую каркас Typemock для Mocking. Я хочу смоделировать вызов базы данных и только хочу проверить запросы. E.g.:
ObjectContext.Where(u => u.code == Code)
Для этого мне нужно сделать Fake ObjectContext
для моделей EF и заполнить некоторые фальшивые данные в Fake ObjectContext
, чтобы мы могли выполнять наши запросы (LINQ) на fake ObjectContext
. Пожалуйста, предложите, как я могу создать поддельный контекст объекта (используя платформу TypeMock) и заполнить данные в объектах.
Например, у меня есть следующий метод:
protected IObjectSet<T> CreateObjectSet<T>() where T : EntityBase
{
return _context.CreateObjectSet<T>();
}
И я создаю контрольный пример для макета _context, однако _context имеет значение null. Мой тестовый пример:
var fakeInMemoryBlogs = GetUsers();
var fakeContext = Isolate.Fake.Instance<SecurityEntitiesUOW>();
var fakeGenericRepository = Isolate.Fake.Instance<GenericRepository>
(Members.CallOriginal, ConstructorWillBe.Called, fakeContext);
Isolate.WhenCalled(() => fakeContext.Context.CreateObjectSet<SecUser>())
.WillReturnCollectionValuesOf(fakeInMemoryBlogs.AsQueryable());