我正在使用 3 层架构:控制器、业务和数据层。在我的数据层中,我通过传递连接字符串和其他必要参数来调用 Sql Server 数据库。
我必须为控制器层和业务层编写单元测试。我想编写一个存根(假存储库),从中返回硬编码的值/结果。当我为业务层编写测试时,逻辑应该调用这个存根而不是真正的数据库。
如何在业务层编写代码来实现这一点?
业务层:
public string GetValues(string xmlData)
{
DataObject do = new DataObject ();
string result = do.GetValues(xmlData);
return result;
}
数据访问:
public static string GetValues(string xmlData)
{
return SqlHelper.ExecuteScalar(
ConfigurationManager.AppSettings["ConnectionString"].ToString(),
"DBO.usp_GetDetail",
xmlData
).ToString();
}