asp.net-mvc – 通过伪造上下文测试:实体框架
发布时间:2020-12-16 04:12:41 所属栏目:asp.Net 来源:网络整理
导读:我此刻正在吃东西.就像Entity Framework不可测试一样.我已经阅读了很多帖子和帖子,他们使用工作单元或moq或repo模式. 我处于一个阶段,我无法改变我的应用程序的架构.该应用程序在此时完全正常工作,但为了确保我需要具有高代码覆盖率,因此测试它是. 为了测试,
我此刻正在吃东西.就像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 MVC实现layui富文本编辑器应用
- 只有内容控件才能直接在包含ASP.NET内容控件的内容页面中
- ASP.NET MVC:如何在MVC应用程序中使用静态HTML页面?
- asp.net – 通过CSS重置HTML元素的高度
- asp.net – 避免表格重新提交
- asp.net – httpCookies requireSSL在http上设置为true不会
- asp.net – 估算Web应用程序峰值带宽需求的最准确方法是什么
- asp.net – 人们如何调用aspx文件以区别于aspx.cs / aspx.v
- asp.net – ASP .Net Web API下载图像为二进制
- asp.net-mvc – Razor _Layout.cshtml中的嵌入代码
推荐文章
站长推荐
- asp.net-mvc – ModelState.IsValid总是返回fals
- asp.net-mvc – mvc HtmlHelper DisplayFor函数如
- asp.net-mvc – 如何使用RazorEngine从模板发送电
- asp.net-mvc-3 – 返回JsonFile的MVC3控制器
- asp.net-core – ASP.NET核心中的Angular CLI,具
- asp.net-mvc – POST后重定向不会更改URL
- asp.net – 分析器错误消息:无法生成代码.抛出了
- 在ASP.NET和Silverlight 2之间共享DAL的最佳实践
- .net – 基于属性值的Ninject条件绑定
- ASP.NET Webforms – “从客户端检测到一个潜在危
热点阅读