分享

API 测试(8)

 liuchangxin81 2014-09-19

问题

 

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

 

设计

 

      把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”。     

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多