asp.net-mvc – 通过伪造上下文测试:实体框架
|
我此刻正在吃东西.就像Entity Framework不可测试一样.我已经阅读了很多帖子和帖子,他们使用工作单元或moq或repo模式. 我处于一个阶段,我无法改变我的应用程序的架构.该应用程序在此时完全正常工作,但为了确保我需要具有高代码覆盖率,因此测试它是. 为了测试,我使用’伪上下文’方法,我可以使用假的一个用于模拟,而真实的一个用于连接到数据库. 我用这个作为例子. 在那里,您可以看到上下文被拆分并用作接口.喜欢: public interface IEmployeeContext
{
IDbSet Department Departments { get; }
IDbSet Employee Employees { get; }
int SaveChanges();
}
public class EmployeeContext : DbContext,IEmployeeContext
{
public IDbSet Department Departments { get; set; }
public IDbSet Employee Employees { get; set; }
}
public class FakeEmployeeContext : IEmployeeContext
{
public FakeEmployeeContext()
{
this.Departments = new FakeDepartmentSet();
this.Employees = new FakeEmployeeSet();
}
public IDbSet Department Departments { get; private set; }
public IDbSet Employee Employees { get; private set; }
public int SaveChanges()
{
return 0;
}
}
}
所以测试和一切都有效.我似乎无法做的唯一事情就是在其中测试一个带有.State的控制器,在那里我检查它是否改变了如下: 因为这使用了一个接口,我需要将它添加到接口上下文中.并创建一个新的.或者我错过了什么?我可能不打算在该上下文中创建整个方法.我怎样才能设法让它工作 解决方法您是否考虑过执行集成测试?您可以对真正的EF DBContext进行集成测试, 阅读this及其所有答案. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何在Json中使用Gson将对象类型包含在asmx web
- Godaddy ASP.NET会员数据库困境
- asp.net-mvc – 我在哪里可以初始化Orchard模块中的AutoMap
- asp.net web-api – ASP.net Web API RESTful Web服务基本身
- asp.net-web-api – WebAPI中的长时间运行任务
- asp.net – 从Web页面录制音频
- asp.net – IItemTransform和现有的缩小文件
- asp.net-core – 设置.NET Core项目的版本号
- asp.net – .Net System.Mail.Message添加多个“To”地址
- asp.net-mvc – SQL Azure得到一个错误’已经有一个打开的D
- asp.net-core – 如何使用带有IdentityServer4的
- asp.net-mvc – 更改MVC4上的基本视图类型
- 如果ASP.NET应用程序的CustomErrors设置为Off,有
- asp.net-mvc – ASP.NET MVC 3:RouteExistingFi
- asp.net – ScriptManager必须出现在任何需要它的
- asp.net-mvc – ASP.NET MVC从数据库加载Razor视
- asp.net-mvc – 如何使用ASP.NET MVC 3编辑IEnum
- asp.net-mvc – MVC 2 vs MVC 3自定义验证属性使
- asp.net – 禁止从IIS 7继承“允许所有用户”规则
- asp.net – 如何使用资源文件设置按钮文本
