避免数据库依赖性进行单元测试而不进行模拟
发布时间:2020-12-12 07:30:08 所属栏目:MsSql教程 来源:网络整理
导读:我有很多对象需要数据库访问的方法.我们正在寻求进行单元测试,但是如果可能的话,我们希望避免使用模拟对象.我想知道是否有一种方法可以重构下面显示的Validate方法,以便它不需要db访问.在实际的应用程序中,通常会有更多的进展,但我认为这个简化的例子应该足够
我有很多对象需要数据库访问的方法.我们正在寻求进行单元测试,但是如果可能的话,我们希望避免使用模拟对象.我想知道是否有一种方法可以重构下面显示的Validate方法,以便它不需要db访问.在实际的应用程序中,通常会有更多的进展,但我认为这个简化的例子应该足够了.
如果我们需要,我们将学会使用模拟对象,但它似乎只是很多开销,所以我正在寻找替代方案. public class Person { public string Name; public string Validate() { if (PersonDA.NameExists(Name)) { return "Name Already Used"; } } } 解决方法就个人而言,我只是去模拟对象路线.它更加灵活,听起来你想要将测试代码放在实际对象中?无论如何,使用boolean isValid(Person)的方法将验证代码提取到PersonValidator对象中.然后在测试代码中使用模拟验证器,它只根据测试用例返回true或false. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在O(1)中计算SQL表中的行
- sql-server – 实体框架 – 行大小大于允许的最大行大小806
- 用户 'NT AUTHORITY/SYSTEM' 登录失败。
- 数据库 – Erlang的ActiveRecord
- SQL Server 2012 getClob():不支持从varchar(nvarchar)到C
- sql-server – 每周重建索引是个好主意吗?
- 将Sql Server对象的当前拥有者更改成目标拥有者
- 用户"sa "登陆失败 SQLServer 错误18456----解决方
- MySQL 5.7.9 服务无法启动-“NET HELPMSG 3534”的解决方法
- SQLServer 集合函数 COUNT 优化分析