Vorrei creare alcuni test con PhpUnit. Ma il file php che vorrei testare utilizza la funzione mt_rand(). Quindi, come posso creare un test che conosca il valore di mt_rand() restituisce l'ultima volta? Grazie per aver risposto alla mia domanda e mi dispiace per il mio pessimo inglese, vengo dalla Germania;)Test della funzione mt_rand con PHPUnit
risposta
L'algoritmo Mersenne Twister è un algoritmo deterministico. Inizia con un seme e quindi genera numeri casuali basati su di esso. Quindi, dato che il seme è lo stesso, genererà gli stessi numeri casuali.
Di norma semi PHP mt_rand
con alcuni dati basati su microtime
, ma è possibile inizializzarlo manualmente utilizzando mt_srand
.
mt_srand(0);
var_dump(mt_rand());
mt_srand(0);
var_dump(mt_rand());
Si noti che entrambe le chiamate di funzione vi darà lo stesso numero 963932192
.
Quindi tutto quello che devi fare, è seminare manualmente e sarai in grado di prevedere tutti i numeri che genera.
ringrazio molto, questo è esattamente la risposta che stavo cercando! – Ragadabing
@Paloran: Se questa è la risposta che cercavi, fai clic sul segno di spunta verde a sinistra della risposta;) – NikiC
Grazie, è stata la mia prima domanda che ho posto qui. – Ragadabing
Se si semina mt_rand con lo stesso valore di inizializzazione ogni volta, si otterrà sempre la stessa serie di valori restituiti da mt_rand().
ad esempio:
mt_srand(123456);
for ($i = 0; $i < 10; $i++) {
echo mt_rand(),'<br />';
}
- 1. test error_log con PHPUnit
- 2. Test phpunit con database
- 3. echo in phpunit test
- 4. PHPUnit - test autoloader class
- 5. Test database PHPUnit
- 6. test phpunit con viste in copertura
- 7. Come test STDIN in PHPUnit
- 8. Test PHPUnit per uscita JSON
- 9. Come posso velocizzare l'esecuzione della suite di test PHPUnit + DBUnit?
- 10. Impostare una durata di timeout test con PHPUnit
- 11. Test del codice che utilizza get_class con PHPUnit oggetti fittizi
- 12. è mt_rand() più sicuro di rand()
- 13. test se matrice contiene valore utilizzando PHPUnit
- 14. Riduzione dell'utilizzo della memoria con Symfony e il bridge PHPUnit
- 15. phpunit test error error zf2 doctrine
- 16. Come saltare i test in PHPunit?
- 17. Come test unitario di lettura/scrittura simultanea con PHPUnit?
- 18. Integrare i casi di test PHPT con PHPUnit
- 19. Infissi temporanei di Doctrine2 per test con phpunit
- 20. Come eseguo tutti i miei test PHPUnit?
- 21. PHPUnit test di upload di dati binari
- 22. Utilizzo della copertura del codice PHPUnit con interfacce
- 23. PHPUnit: come posso creare una funzione da chiamare una volta per tutti i miei test?
- 24. Errore Netbeans-PHPUnit "Nessun test eseguito"
- 25. Test delle API REST utilizzando PHPUnit
- 26. selezionare un'opzione con selenium2 + phpunit
- 27. Errore con PHPUnit in Symfony2
- 28. Test di phpunit non avverte nessun test trovato nella classe
- 29. Test di Laravel con PHPUnit e Mockery - Impostazione delle dipendenze sul test del controller
- 30. PHPUnit - verifica controller MVC con variabile $ _POST
si prega di fornire un frammento di codice per noi vedere – Gordon