c# - 是否可以使用 MOQ 框架模拟将“SqlDataReader”作为返回类型的 ExecuteReader 方法?
问题描述
我正在使用“Moq”框架编写集成测试脚本。想知道模拟具有“SqlDataReader”作为返回类型的 Execute Reader 方法的可能方法。
//Code which needs to mock
List<list> li = new List<list>();
query = "some query as input";
using (SqlDataReader sqlDataReader = databaseWrapper.ExecuteReader(query, null))
{
if (sqlDataReader != null)
{
if (sqlDataReader.HasRows)
{
while (sqlDataReader.Read())
{
R1 rm = new R1
{
r3 = Convert.ToString(sqlDataReader["Name"]),
r4 = Convert.ToInt32(sqlDataReader["Id"])
};
li.Add(rm);
}
}
rR.li = li;
return rR;
}
}
正如我所研究的,我们可以模拟 IDataReader 但没有 'SqlData Reader',因为 'SqlDataReader 没有任何构造函数。
有没有人尝试过以不同的方式来模拟“SqlDataReader”。请帮助我。
解决方案
推荐阅读
- java - 如何在 Anylogic 中设置和修改代理的标志/优先级
- java - Jhipster CORS 启用
- android - 启用许可证测试的应用内购买错误 [DF-BA-AH-01]
- angular - 资产未考虑基本 href url - 未找到错误
- linux - Web 连接重定向到 https://localhost
- identityserver4 - IdentityServer4 用证书文件替换 AddDeveloperSigningCredential
- c# - ReSharper Ultimate 错误“对文件的修改不一致...”
- java - 如何使用子字符串拆分文件名并使用 Java 生成 .csv 文件?
- oracle-apex-5.1 - # Oracle Apex 5.1 - 创建自定义模板并在数据库应用程序中使用它
- microsoft-dynamics - 如何从 NAVISION 中的其他表中获取具有主键的数据