我会用PhpUnit创建一些测试.但我想测试的php文件使用mt_rand()函数.那么如何创建一个知道mt_rand()返回值的测试呢?感谢您回答我的问题并抱歉我的英语不好,我来自德国;)
Nik*_*kiC 14
在梅森难题算法是确定性算法.它从种子开始,然后根据它生成随机数.因此,如果种子是相同的,它将产生相同的随机数.
通常PHP种子mt_rand具有一些microtime基础数据,但您可以使用手动播种mt_srand.
mt_srand(0);
var_dump(mt_rand());
mt_srand(0);
var_dump(mt_rand());
Run Code Online (Sandbox Code Playgroud)
请注意,两个函数调用都会给出相同的数字963932192.
所以你基本上要做的就是手动播种,你将能够预测它产生的所有数字.