API 测试 (5)

把数据转换为合适的类型

 

问题

 

      如何把测试输入数据或者期望结果从string类型转化成其他的数据类型,这样就可以把转化后的数据传给待测方法或者把期望结果与实际结果进行比较。

 

设计

 

      通过选用使用的静态Parese()方法,实施显示类型的转换。

 

方案

 

      int[] input = new int[tempInput.Length];

      for(int i = 0;i < input.Length;++i)

      input[i] = int.Parse(tempInput[i]);

 

注解

 

      如果把测试用例数据存储到文本文件并且解析出这些测试用例的输入,所得到的数据,其类型为string。如果待测程序所接受的参数类型不是string,则需要把输入转换成合适的类型。在上述方案中,如果字符串数组tempInput的内容是{"2","4","8"},就可以首先创建一个名为input的整型数组,它的大小和tempInput一样,循环执行完毕后,input[0]的内容为2(整数),input[1]的内容为4,input[2]的内容是8,除了string类型,C#语言有14种经常会碰到的数据类型。

 

      每个C#数据类型都支持静态的Parse()方法,这个方法接受一个string作为参数,并且返回调用者所用的数据类型,例如:

      string s1 = "345.67";

      double d = double.Parse(s1);

      string s2 = "true";

      bool b = bool.Parse(s2);

      这段代码把数据345.67赋给变量d,把逻辑true赋给变量b。除了使用Parse(),还可以使用SystemConvert类静态方法,例如:

      string s1 = "345.67";

      double d = Convert.ToDouble(s1);

      string s2 = "true";

      bool b = Convert.ToBoolean(s2);

      这段代码与上面使用Parse()例子等价。Convert方法进行的是.NET数据类型之间的转换(比如Int32),而不是直接把它们转换成相应的C#类型(比如int)。使用Convert的好处是,它从语法上不像Parse()方法那样是以C#为中心的,所以如果你需要把自动化测试程序从C#转换成VB.NET就可以少一些工作量。使用Parse()方法的好处是,它可以直接转换成相应的C#数据类型,如果在100% 的C#环境中,这么做可以让代码读起来更容易一些。另外,Parse()比Convert方法更具针对性,因为它只接受string类型的参数(而这正是处理文本文件中的测试用例所需要的)。

 

你可能感兴趣的:(API 测试 (5))