有没有办法将IDataReader
对象转换为SqlDataReader
对象?我试图SqlHelper
通过用我自己的拦截IDataReader
(因为我无法创建SqlDataReader
对象)来打破对 API 的数据库依赖关系。
这就是我的测试用例的样子(并评估 TypeMock):
Isolate.Fake.StaticMethods(typeof(SqlHelper));
Isolate.WhenCalled(() => SqlHelper.ExecuteReader(string.Empty, CommandType.StoredProcedure, string.Empty))
.WillReturn(myDataGenerator.ToDataReader() as SqlDataReader);
这可以毫无问题地编译,但不会返回任何行。当我调试时,我发现它根本没有任何行。有什么想法吗?
提前致谢。
编辑(1): 由于无法转换,是否可以模拟 SqlDataReader。