我會用PhpUnit創建一些測試。但我想測試的php文件使用mt_rand()函數。那麼如何創建一個知道mt_rand()返回上一次值的測試呢? 謝謝你回答我的問題,對不起我英語不好,我來自德國;)用PHPUnit測試mt_rand函數
5
A
回答
12
Mersenne Twister算法是一種確定性算法。它從種子開始,然後根據它生成隨機數。因此,鑑於種子是相同的,它會產生相同的隨機數。
通常PHP種子mt_rand
與一些基於microtime
的數據,但您可以使用mt_srand
手動將其種子。
mt_srand(0);
var_dump(mt_rand());
mt_srand(0);
var_dump(mt_rand());
注意,這兩個函數調用會給你相同數量963932192
。
所以,你基本上必須做的,是手動種子,你將能夠預測它產生的所有數字。
+0
非常感謝,這正是我一直在尋找的答案! – Ragadabing 2011-02-06 10:23:00
0
如果您每次都使用相同的種子值生成mt_rand,您將始終獲得由mt_rand()返回的相同系列值。
例如:
mt_srand(123456);
for ($i = 0; $i < 10; $i++) {
echo mt_rand(),'<br />';
}
相關問題
- 1. PHP mt_rand()函數
- 2. PHPUnit數據庫測試
- 3. POST參數到PHPUnit測試
- 4. 用PHPUnit測試多個類
- 5. 如何用phpunit測試內部數組
- 6. PHPUnit測試函數的值通過引用和返回值
- 7. PHPUnit - REST API測試
- 8. PHPUnit配置測試
- 9. Phpunit權限測試
- 10. 測試iterables PHPUnit中
- 11. PHPUnit測試實例
- 12. PHPUnit進行測試
- 13. PHPUnit測試分離
- 14. 爲返回數組的函數編寫PHPUnit測試
- 15. 函數mt_rand的最大值範圍?
- 16. PHPUnit如何測試一個包含check_admin_referer()的Wordpress函數?
- 17. 如何在phpunit中不返回值的單元測試函數?
- 18. mysqli_query():在PHPUnit中測試PHP函數時無法獲取mysqli
- 19. 測試PHP函數(不是類)與NetBeans和PHPUnit的
- 20. PHPUnit測試函數被稱爲多少次
- 21. PHPUnit如何測試一個包含get_post_meta()的Wordpress函數?
- 22. PHPUnit數據庫測試與DBUnit擴展
- 23. PHPUnit的數據庫測試異常
- 24. phpunit數據庫在拆解後測試
- 25. 如何使用phpunit測試用例測試ajax調用?
- 26. PHPUnit和域例外測試
- 27. Symfony - PHPUnit列表測試
- 28. PHPUnit和測試CRUD方法
- 29. Phpunit圖像下載測試
- 30. PHPUnit測試PHP頭文件
請提供代碼段來給我們看 – Gordon 2011-02-05 22:45:10