API 测试(3)

读入测试用例数据

问题

 

      如何从测试用例文件(简单的文本文件)中读入每条测试用例。

 

设计

 

      通过while循环遍历用例文件的每一行,使用System.IO.StreamReader对象读入测试用例。

 

方案

 

      FileStream fs = new FileStream("../../TestCases.txt",FileMode.Open);

      StreamReader sr = new StreamReader(fs);

      string line;

      while ((line = sr.Reader()) != null)

      {

      //解析每个测试用例行

      //调用待测方法

      //判断通过与否

      //记录测试用例结果

      }

      sr.Close();

      fs.Close();

 

注解

 

      通常来说,控制台程序相比于Windows窗体程序,更适合用来编写轻量级的自动化测试程序。控制台程序很容易集成到遗留下来的测试系统,而且在Windows环境下也很容易操纵。如果你要把测试程序写成窗体程序,请不要忘了让这个程序也可以通过命令行来进行操纵。

 

      本方案假定已经把using System.IO;语句放到测试程序的代码里,这样就可以使用FileStream和StreamReader类而不用每次都引用它们的全名。我们还假定测试用例数据文件被命名为TestCase.txt,并且被放在测试程序所在目录的上两级目录。对于测试用例数据文件来说,相对路径通常要比诸如C://Here//There//TestCase.txt这样的绝对路径要好,因为相对路径允许把测试程序的根目录和子目录做为一个整体进行移动,而不会打乱测试程序的路径。但是,如果测试系统的目录结果改变了,那么相对路径就会打乱你的测试程序。还有一种做法是:把测试数据文件的路径和名字作为测试程序的参数:

 

static void Main(string [] args)

{

      string testCaseFile = args[0];

      FileStream fs = new FileStream(testCaseFile,FileMode.Open);

      //etc.

}

 

      这样一来,就可以像下面的这样调用测试程序:

C://Harness/bin/Debug>Run.exe  ../../TestCase.txt

 

      在本方案中,用到了FileStream和StreamReader对象,另外也可以使用System.IO.File类中的一些静态方法,如File.Open().如果预计到可能会有两个或者更多测试程序同时访问测试用例文件,可以使用重载过的FileStream的构造函数,它包含一个FileShare参数用来指定如何共享这个文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值