Crearía algunas pruebas con PhpUnit. Pero el archivo php que me gustaría probar utiliza la función mt_rand(). Entonces, ¿cómo puedo crear una prueba que sepa que el valor de mt_rand() devuelve la última vez? Gracias por responder mi pregunta y lo siento por mi mal inglés, soy de Alemania;)Pruebe la función mt_rand con PHPUnit
Respuesta
El algoritmo Mersenne Twister es un algoritmo determinista. Comienza con una semilla y luego genera números aleatorios basados en ella. Por lo tanto, dado que la semilla es la misma, generará los mismos números aleatorios.
Normalmente PHP siembra mt_rand
con algunos datos basados en microtime
, pero puede sembrarlo manualmente usando mt_srand
.
mt_srand(0);
var_dump(mt_rand());
mt_srand(0);
var_dump(mt_rand());
Tenga en cuenta que tanto las llamadas de función le dará el mismo número 963932192
.
Así que todo lo que tienes que hacer es sembrar manualmente y podrás predecir todos los números que genera.
Muchas gracias, eso es exactamente la respuesta que he estado buscando! – Ragadabing
@Paloran: Si esa es la respuesta que estaba buscando, haga clic en la marca verde a la izquierda de la respuesta;) – NikiC
Gracias, esa fue mi primera pregunta que hice aquí. – Ragadabing
Si inicializa mt_rand con el mismo valor inicial siempre, siempre obtendrá la misma serie de valores devueltos por mt_rand().
por ejemplo:
mt_srand(123456);
for ($i = 0; $i < 10; $i++) {
echo mt_rand(),'<br />';
}
- 1. Pruebe la función "System.Web.Mvc.ViewEngines.Engines.FindPartialView"
- 2. PHPUnit y morir función
- 3. No pruebe grupos (PHPUnit apoyo @group anotación) Funciones de la clase extiende desde Yii en Netbeans
- 4. pruebe el valor de retorno de un método que desencadena un error con PHPUnit
- 5. Prueba de objetos con dependencias en PHPUnit
- 6. Pruebe si la tecla Ctrl está presionada con C#
- 7. Pruebe Dequeue en ConcurrentQueue
- 8. Integrando PHPUnit con CakePHP 1.3
- 9. Pruebe si la intención está disponible
- 10. PHPUnit - prueba el controlador MVC con la variable $ _POST
- 11. ¿Tiene PHPUnit alguna función de comparación de matriz recursiva incorporada?
- 12. Prueba de Phpunit con la base de datos
- 13. Pruebe si se llama a una función en una prueba de la unidad Ruby on Rails
- 14. Con PHPUnit Class 'mysqli' no se encuentra
- 15. How PHPUnit assertFunction
- 16. PHPUnit: manejo
- 17. PHPUnit getMock() con espacio de nombres
- 18. Accesorios temporales Doctrine2 para probar con phpunit
- 19. Integrar casos de prueba HPTP con PHPUnit
- 20. ¿Cómo comparar XML similares con PHPUnit?
- 21. ¿Cómo agrupar PHPUnit con mi código?
- 22. ¿Cómo podría integrar phpunit con Hudson CI?
- 23. Cómo realizar pruebas unitarias Excepciones con PHPUnit?
- 24. ¿Cómo pruebo las múltiples excepciones con PHPUnit?
- 25. phpunit 3.7: ¿qué pasó con la anotación @assert?
- 26. Uso de la cobertura de código PHPUnit con interfaces
- 27. ¿Cómo instalo correctamente PHPUnit con PEAR?
- 28. PHPUnit fallar con el error raro
- 29. PHPUnit - Errores
- 30. Cómo forzar una falla con phpunit
, facilite un fragmento de código para que podamos ver – Gordon