Tôi sẽ tạo một số thử nghiệm với PhpUnit. Nhưng tệp php mà tôi muốn thử nghiệm sử dụng hàm mt_rand(). Vì vậy, làm thế nào tôi có thể tạo ra một thử nghiệm mà biết giá trị của mt_rand() trả về thời gian qua? Cảm ơn bạn đã trả lời câu hỏi của tôi và xin lỗi vì tiếng Anh xấu của tôi, tôi đến từ Đức;)Kiểm tra chức năng mt_rand với PHPUnit
Trả lời
Thuật toán Mersenne Twister là một thuật toán xác định. Nó bắt đầu với một hạt giống và sau đó tạo ra các số ngẫu nhiên dựa trên nó. Do đó, với hạt giống giống nhau, nó sẽ tạo ra cùng một số ngẫu nhiên.
Hạt thường PHP mt_rand
với một số dữ liệu dựa trên microtime
, nhưng bạn có thể gieo hạt theo cách thủ công bằng cách sử dụng mt_srand
.
mt_srand(0);
var_dump(mt_rand());
mt_srand(0);
var_dump(mt_rand());
Lưu ý rằng cả hai cuộc gọi chức năng sẽ cung cấp cho bạn cùng một số 963932192
.
Vì vậy, tất cả các bạn về cơ bản phải làm, là hạt giống nó bằng tay và bạn sẽ có thể dự đoán tất cả các con số nó tạo ra.
Cảm ơn bạn rất nhiều, đó là chính xác câu trả lời tôi đã tìm kiếm! – Ragadabing
@Paloran: Nếu đó là câu trả lời bạn đang tìm kiếm, hãy nhấp vào dấu kiểm màu xanh ở bên trái câu trả lời;) – NikiC
Cảm ơn, đó là câu hỏi đầu tiên của tôi mà tôi đã hỏi ở đây. – Ragadabing
Nếu bạn gieo hạt giống mt_rand với giá trị giống nhau mỗi lần, bạn sẽ luôn nhận được cùng một chuỗi giá trị được trả về bởi mt_rand().
ví dụ:
mt_srand(123456);
for ($i = 0; $i < 10; $i++) {
echo mt_rand(),'<br />';
}
- 1. PHPUnit và chết chức năng
- 2. Kiểm tra chức năng "System.Web.Mvc.ViewEngines.Engines.FindPartialView"
- 3. javascript chức năng kiểm tra
- 4. echo trong kiểm tra phpunit
- 5. PHPUnit - kiểm tra autoloader lớp
- 6. "Giao diện web" để kiểm tra PHPUnit?
- 7. Kiểm tra đơn vị hoặc Kiểm tra chức năng?
- 8. Đặt thời gian chờ kiểm tra với PHPUnit
- 9. Kiểm tra chức năng là gì?
- 10. Kiểm tra các chức năng tĩnh với CppUnit
- 11. Kiểm tra Loại Chức năng trong Scala
- 12. kiểm tra chức năng trong jsfiddle
- 13. Kiểm tra cơ sở dữ liệu PHPUnit
- 14. Kiểm tra PHPUnit cho Đầu ra JSON
- 15. PHPUnit: Kiểm tra mảng đối tượng
- 16. POST tham số để kiểm tra PHPUnit
- 17. Cách kiểm tra STDIN trong PHPUnit
- 18. Zend Framework 2 phpunit kiểm tra bảng có tham gia
- 19. Kiểm tra chức năng ủy quyền trong Rails
- 20. Cách tốt nhất để tổ chức các bài kiểm tra Selenium bằng PHPUnit là gì?
- 21. Riêng tư chức năng và kiểm tra đơn vị Haskell
- 22. Kiểm tra PDF chức năng (Tự động kiểm tra nội dung PDF)
- 23. nguyên tắc kiểm tra chức năng thống kê trong R?
- 24. Arquillian Drone/Graphene/Selenium và UI/Kiểm tra chức năng
- 25. Cách tốt nhất để kiểm tra tham số chức năng: Kiểm tra null hoặc try/catch
- 26. Matlab - Kiểm tra xem chức năng xử lý là một chức năng hoặc chức năng cụ thể
- 27. Kiểm tra các chức năng riêng tư trong javascript
- 28. EUnit không kiểm tra chức năng riêng tư
- 29. Kiểm tra nội bộ của các chức năng trong Haskell
- 30. Kiểm tra chức năng giá trị trả về trong GDB
vui lòng cung cấp một đoạn mã cho chúng ta thấy – Gordon