关闭

API测试(五)

发表于:2009-10-14 15:38

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

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

  问题

  如何给测试用例结果加上时间戳,以便于区分不同批次的运行结果。

  设计

  把DateTime.Now属性作为参数传给CreateDirectory()这个静态方法,用以创建一个带时间戳的文件夹。另外,也可以把DateTime.Now传给FileStream()的构造函数,并且用它来创建一个带时间戳的文件名。

string folder = "Results " + DateTime.Now.ToString("s");
folder = folder.Replace(":","-");
Directory.CreateDirectory("..\\..\\" + folder);
string path = "..\\..\\" + folder + "\\TestResult.txt";
FileString ofs = new FileStream(path,FileMode.Create);
StreamWriter sw = new StreamWriter(ofs);

  注解

  创建一个以时间戳命名的文件夹,它的名称由DateTime.Now属性的值而来,这个属性的值就是当前系统的日期和时间。把"s"参数传给ToString()方法返回的是一个可排序的日期字符串,比如“2009-10-12T14:00:00”。你可以针对ToString()使用很多其他的格式参数,但是可排序的字符串较之不可排序的字符串可以帮助更好的管理测试结果。在这里,必须把":"字符换成其他的字符(在这里换成“-”),因为“:”在路径名或者文件名里是不合法的。

  这种方法也可以做一些改动,把测试结果都放到同一个文件夹里,只不过给文件名加上不同的时间戳:

string stamp = DateTime.Now.ToString("s");
stamp = stamp.Replace(":","-");
string path = "..\\..\\TestResults-" + stamp + ".txt";
FileString ofs = new FileStream(path,FileMode.Create);
StreamWriter sw = new StreamWriter(ofs);

  这种改动假定测试套件所在目录的上两级目录一定存在。如果该目录不存在,就会抛出一个异常。存储测试用例结果的文件,其文件名变成“TestResults-”加上时间戳,再加上".txt"扩展名,例如,“TestResults-2009-10-12T14-30-00.txt”。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号