API 测试(三)

发表于:2009-9-07 14:57

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

 作者:James D. McCaffrey    来源:.NET软件测试自动化之道

  把数据转换为合适的类型

  问题

  如何把测试输入数据或者期望结果从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类型的参数(而这正是处理文本文件中的测试用例所需要的)。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号