Utworzę testy z PhpUnit. Ale plik php, który chciałbym przetestować, wykorzystuje funkcję mt_rand(). Więc jak mogę utworzyć test, który zna wartość mt_rand() zwraca ostatni raz? Dziękuję za odpowiedź na moje pytanie i przepraszam za mój zły angielski, jestem z Niemiec;)Funkcja testowa mt_rand z PHPUnit
Odpowiedz
Algorytmem deterministycznym jest algorytm Mersenne Twister. Zaczyna się od nasienia, a następnie generuje na nim losowe liczby. Zatem, biorąc pod uwagę, że materiał siewny jest taki sam, wygeneruje on te same liczby losowe.
Zwykle nasiona PHP mt_rand
z pewnymi danymi opartymi na microtime
, ale można ręcznie zaszczepić je przy użyciu mt_srand
.
mt_srand(0);
var_dump(mt_rand());
mt_srand(0);
var_dump(mt_rand());
Należy pamiętać, że oba wywołania funkcji dają ten sam numer 963932192
.
Więc wszystko, co musisz zrobić, to przesiać ręcznie, a będziesz w stanie przewidzieć wszystkie generowane liczby.
Dziękuję bardzo, to jest dokładnie to odpowiedź ja szukałem! – Ragadabing
@Paloran: Jeśli jest to odpowiedź, której szukałeś, kliknij zielony znacznik po lewej stronie odpowiedzi;) – NikiC
Dzięki, to było moje pierwsze pytanie, które tutaj zadałem. – Ragadabing
Jeśli za każdym razem będziesz wysyłać mt_rand z tą samą wartością początkową, zawsze otrzymasz tę samą serię wartości zwróconych przez mt_rand().
na przykład:
mt_srand(123456);
for ($i = 0; $i < 10; $i++) {
echo mt_rand(),'<br />';
}
- 1. Jednostka Funkcja testowa, która zwraca Mongoose obiecują
- 2. Zrozumienie listy w języku Python: funkcja testowa return
- 3. Testowanie phpunit z bazą danych
- 4. Dziwna wydajność z PHPUnit
- 5. @ Testowa klasa testowa wpływa na sposób funkcjonowania warstwy usług transakcyjnych
- 6. ChefSpec i kuchnia testowa
- 7. PHPUnit Selenium, funkcja clickAndWait() nie działa w Operze
- 8. Jednostka testowa profili Automappera
- 9. Klasa testowa Junit z wieloma metodami @Test
- 10. Strona testowa z eksploratorem internetowym 7
- 11. Usługa testowa korzystająca z eureki i wstążki
- 12. Jednostka testowania klasy usług symfony z PHPUnit
- 13. wybrać opcję z selenium2 + PHPUnit
- 14. Jak zainstalować PHPUnit z WAMP?
- 15. Klasa testowa Junit zakres testowy
- 16. Dokonywanie Karma a.k.a Testowa praca
- 17. jednostka testowa System.Threading.Timer w .NET
- 18. PHPunit - Błędy
- 19. Jednostka testowa kątowa dyrektywa, która używa ngModel
- 20. Jak korzystać z PHPUnit do testowania funkcji, jeśli ta funkcja ma zabić PHP?
- 21. Wymuś wykluczenie plików z kodu PHPUnit
- 22. Testowanie phpunit yii z widokami w zasięgu
- 23. Wyklucz katalog podstawowy z kodu PHPUnit Coverage
- 24. CakePHP/phpunit: jak kpić z wysyłania pliku
- 25. Błąd podczas próby uruchomienia PHPUnit z PhpStorm
- 26. Jak porównać podobne pliki XML z PHPUnit?
- 27. Z klasy PHPUnit "mysqli" nie został znaleziony
- 28. Testowanie obiektów z zależnościami w PHPUnit
- 29. Korzystanie z obiektu szpiegującego w PHPUnit?
- 30. Konfigurowanie PHPUnit z Gitlab Continuous Integration
proszę podać fragment kodu dla nas zobaczyć – Gordon