使用ADODB.Recordset作为输入参数的WCF方法的单元测试

塞巴斯蒂安·罗伊布

我有一个WCF服务,它是VB应用程序的外观。我的VB应用程序期望ADODB.Recordset作为我的输入参数。我已经为此方法编写了单元测试,但是我不知道如何手动创建记录集以进行测试。

我想出了这一点(经过长时间的网络搜索):

ADODB.Recordset tempRS = new ADODB.Recordset();
tempRS.Fields.Append("Field1", ADODB.DataTypeEnum.adChar);  
tempRS.Fields.Append("Field2", ADODB.DataTypeEnum.adInteger);

但是此记录集中没有数据。或另一种尝试:

ADODB.Recordset temp = new ADODB.Recordset();
temp.Open();
temp.AddNew("Field1", "data for field 1");
temp.AddNew("Field2", "1");

但是我在temp.Open()声明中说了一个错误The connection cannot be used to perform this operation. It is either closed or invalid in this context.

有人可以指出我正确的方向吗?我已经读过,msdn但没有找到适合我需要的示例。

提前致谢 !

克里斯蒂安·海特(Christian Hayter)

我亲自编写了C#单元测试,在其中我已成功实例化了一个实数ADODB.Recordset并用数据填充了它,因此我可以向您保证。

关键是在断开连接模式下打开记录集。这使您的ADO等效于DataTable,并且不需要db连接。您可以通过将游标类型显式设置为静态来做到这一点,例如

temp.Open(CursorType: CursorTypeEnum.adOpenStatic);

注意:静态游标也可以在连接模式下使用。但是,它们是唯一在断开连接模式下有意义的游标类型,这就是为什么您需要显式指定它的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

单元测试:使用MSTest将复杂对象作为输入参数发送到我的测试方法

使用谓词作为单元测试的参数

使用变量VBA ADODB的recordset.find

Mockito InvalidUseOfMatchersException,当尝试使用自定义回调作为参数对方法进行单元测试时

如何对使用Part类型参数的方法进行单元测试?

如何使用Xcode单元测试测试不带参数的void类方法

单元测试Asp.Net WebApi:如何使用[FromUri]参数测试方法的正确路由

单元测试,在带有PowerMock的Kotlin中使用Context作为变量模拟静态方法

使用新Date()作为当前日期的Java单元测试方法

使用Moq进行WCF服务的单元测试

如何使用MTM将参数值从TFS中的测试用例传递到单元测试方法中的测试方法?

在VBA中使用带有RecordSet Open参数的ADODB时出现不一致的错误

单元测试使用外部dll的方法

使用NSubstitute的单元测试无效方法

使用GetEntitiesAync(DocumentDB)的方法的单元测试

单元测试使用Assembly的方法

使用powermock单元测试静态方法

使用Moq的单元测试cosmosDb方法

使用ADODB.Recordset中的.CacheSize / .PageSize加载时间差异

使用用户输入验证对方法进行单元测试

如何在单元测试中使用Moq在异步方法中返回传递的参数?

如何在C#单元测试中使用特定的NSpecification参数验证方法?

C#-使用Guid参数引发事件的单元测试方法

使用http作为包装函数依赖项的单元测试

如何使用http作为依赖项进行单元测试

使用String []作为请求主体的Mockmvc单元测试

F2051单元ADODB使用其他版本的ADOInt._Command编译

使用ADODB连接打开存储在SharePoint上的Excel文件作为数据源

使用ADODB将CSV文件作为记录集打开时的备注字段为空