前端之家收集整理的这篇文章主要介绍了
使用PHPUnit测试mt_rand函数,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我会用
PHPUnit创建一些测试.但我想测试的
PHP文件使用mt_rand()
函数.那么如何创建一个知道mt_rand()返回值的测试呢?
感谢您回答我的问题并抱歉我的英语不好,我来自德国;)
Mersenne Twister算法是确定性算法.它从种子开始,然后根据它
生成随机数.因此,如果种子是相同的,它将产生相同的
随机数.
通常PHP使用一些基于microtime的数据mt_rand,但你可以使用mt_srand
手动播种它.
mt_srand(0);
var_dump(mt_rand());
mt_srand(0);
var_dump(mt_rand());
请注意,两个函数调用将为您提供相同的数字963932192.
所以你基本上要做的就是手动播种,你将能够预测它产生的所有数字.