jestem testowania kawałek kodu Rails, który brzmi:jaki tryb uśpienia jest używany?
sleep(10.0)
W moich testów RSpec, nazywając:
Kernel.should_receive(:sleep).exactly(1).time
zawiodły i testy spali przez dziesięć sekund. To doprowadziło mnie do wniosku, że sleep()
w programie Railsowym nie wywołuje Kernel.sleep()
. I zweryfikowane przez zmianę mojego kodu szyn:
Kernel.sleep(10.0)
... po którym moje testy rspec przeszedł (a test nie snu).
Prowadzi to do konkretnego i ogólnego pytania:
- Co realizacja snu() nie używać Rails (używam Ruby 1.9.3/Rails 3.2.1)?
- Jaki jest najłatwiejszy sposób znalezienia kodu źródłowego dowolnej funkcji z poziomu interpretera?
Jedyną inną metodą "uśpienia" jaką mogę znaleźć w rubinowym api jest 'Mutex # sleep', więc może to być: http://apidock.com/ruby/Mutex/sleep – Frost
Jeśli chcesz zapytać dwa pytania, powinieneś zadać dwa pytania. Zdecydowałem się zignorować drugie pytanie w mojej odpowiedzi, ponieważ zostało już zadane i kilkakrotnie udzielone na StackOverflow. –
Jorg: Tak, wiedziałem o niebezpieczeństwie zadawania dwóch pytań naraz! Dzięki ... –