前言
我们都知道,在测试代码时候,可以暴力使用Random函数产生大量值构建测试用例,但我最近在循环中使用这个函数时,遇到一个坑,希望大家了解一下避免跟我犯同样的错误。
提示:以下是本篇文章正文内容,下面案例可供参考
一、案例准备
循环10次,每次向集合List中添加随机元素。
二、错误示例
看下面的代码,表面上看是在循环中构建了一个随机数,每次循环都产生一个随机数,因而十次循环后会产生十个可能不同或者相同的结果
但结果确实这样的,都生成相同的数字,我说总不可能这么巧吧,生成10个一样的数字,于是我又重新运行了很多次发现还是这个数字,于是我开始怀疑随机产生的问题,终于找到了根源所在,详情请看下面的正确示例
二、正确示例
错误示例原因:每次循环产生的随即数是相同的,若要达到每次循环结束后产生相同的结果但是每次遍历添加随机数到集合,那么就需要将代码修改成如下图所示,新增循环外随机数,将循环外随机数作为循环内随机数的种子