gpt4 book ai didi

unit-testing - 测试 : How to create fake object context using TypeMock for EF4 model

转载 作者:行者123 更新时间:2023-12-04 04:01:15 26 4
gpt4 key购买 nike

我在我的应用程序中使用 EF4,我想为 DAL 方法制作测试用例,这些方法通常会访问数据库以获取数据。我正在使用 Typemock 框架进行模拟。我想模拟数据库调用,只想测试查询。例如:

ObjectContext.Where(u => u.code == Code) 

为此,我需要为 EF 模型制作 Fake ObjectContext,并希望在 Fake ObjectContext 中填充一些假数据,以便我们可以执行查询 (LINQ)在假的 ObjectContext 上。请建议我如何创建假对象上下文(使用 TypeMock 框架)并在实体中填充数据。

例如我有以下方法:

protected IObjectSet<T> CreateObjectSet<T>() where T : EntityBase 
{
return _context.CreateObjectSet<T>();
}

我正在创建一个测试用例来模拟 _context,但是 _context 为空。我的测试用例是:

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());

最佳答案

这已经被问过几次了。进行了一些搜索并找到了以下资源:

使用 TypeMock 隔离器引入 Entity Framework 单元测试

http://mosesofegypt.net/post/Introducing-Entity-Framework-Unit-Testing-with-TypeMock-Isolator.aspx

使用存储库模式抽象 ObjectContext

EF4 - possible to mock ObjectContext for unit testing?

如何在 Entity Framework 中模拟 ObjectContext 或 ObjectQuery?

How to mock ObjectContext or ObjectQuery<T> in Entity Framework?

关于unit-testing - 测试 : How to create fake object context using TypeMock for EF4 model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7087925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com