在测试中使用正确的方法创建唯一的测试数据

在测试的过程中,我们经常需要创建一些唯一的值来进行测试,例如测试注册模块的时候,需要有唯一的邮件地址,那么什么样的方法才是正确地生成随机数,或者唯一数的好方法呢?我们下面来看看

很多语言的公共库都会有生成随机数的类,例如在C#里面我们或许可以这样子来生成一些随机的string。

string uniqeName = “MyTests” + DateTime.Now.ToString();//

用时间是个比较的选择,但是,如果是自动化脚本,那么会因为执行的速度太快,这有可能使得生成的string会有重复。

那么看看Random类又如何?

Random random = new Random();

String uniqueName = random.Next(1000).ToString();

不要被这个类的名字所欺骗,计算机生成的其实都是伪随机数。

下面是一种改进型的方法,时间+随机数

Random random = new Random();

string uniqueString = DateTime.Now.ToString() + random.Next(1000);

这个是比前面两种有所改进,但是还是会有重复数据的可能,因为随机,并不代表唯一。

一个比较好的方法是用GUID,

string uniqueString = Guid.NewGuid().ToString(“N”);

我们可以在这个string后面补上邮件地址(这里请忽略为啥不用StringBuilder),GUID是生成随机测试数据的一种好的选择。

1 thought on “在测试中使用正确的方法创建唯一的测试数据”

Leave a Reply

Your email address will not be published. Required fields are marked *