避免数据库依赖性进行单元测试而不进行模拟
发布时间:2020-05-24 03:20:10 所属栏目: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. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
