SQL存储过程测试(4)——从T-SQL测试套件里把测试结果直接写入文本文件

发表于:2009-11-11 15:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:igoone    来源:51Testing软件测试博客

  问题

  如何让T-SQL测试套件把测试用例结果直接写入文本文件

  设计

  使用ActiveX技术实例化一个FileSystemObject对象,然后通过OpenTextFile()和WriteLine()方法直接把测试结果写入文件。

  方案

请declare @fsoHandle int,@fileID int

exec sp_OACreate 'Scripting.FileSystemObject',@fsoHandle out

exec sp_OAMethod @fsohandle,'OpenTextFile',@fileID out,

    'C:\pathToResults\Results.txt',8,1

——主测试循环

if(@result = @expected)

    exec sp_OAMethod @fileID,'WriteLine',null,'Pass'

else

    exec sp_OAMethod @fileID,'WriteLine',null,'FAIL'

——主测试循环结束

exec sp_OADestroy @fileID

exec sp_OADestroy @fsoHandle

  我们需要有一个文件句柄和一个文件ID,它们的类型都是Int,SQL Server有一个作sp_OACreate()的存储过程可以实例化ActiveX对象。sp_OACreate()接受一个字符串作为传入的参数,这个字符串就是要创建的ActiveX对象的名字,并且以out参数的形式返回一个已创建对象的引用,这个引用的类型是int。对于 Scripting.FileSystemObject的情况来说,返回值是关于文件句柄的一个引用。接下来,可以通过调用sp_OAMethod()方法打开文件。在本例中,第一个参数是sp_OACreate()把创建的句柄,第二个参数是我们想要使用的方法的名称,第三个参数是用于保存返回的文件句柄的变量,第四个参数指定文件的物理名称,第五个参数是可选的,它指定使用的IO模式。

  *       1:以只读方式打开文件(默认)。

  *       2:以写方式打开文件。

  *       3:以追加方式打开文件

  第六个参数是可选的,它是一个创建标识,用来指定当给定文件不存在的时候是否创建一个新的文件。

  *       0:不创建新文件(默认)。

  *       1:创建一个新文件。

  第八个害数也是可选的,它是一个格式标识,用来指定字符的编码方式。

  *       0:以ASCII方式打开文件(默认)。

  *       1:以Unicode方式打开文件。

  *       2:以系统默认的模式打开文件。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号