我在我的應用程序下面的代碼:存根睡眠使用RSpec
def timeout_tasks
10.times do
# Work...
sleep 2
end
end
我想考這個方法,但需要存根sleep
到我不必等那麼多的測試,完。
我該怎麼做?我知道allow(Object).to receive(:sleep)
,但我不確定Object
是什麼。或者還有其他更好的方法嗎?
我在我的應用程序下面的代碼:存根睡眠使用RSpec
def timeout_tasks
10.times do
# Work...
sleep 2
end
end
我想考這個方法,但需要存根sleep
到我不必等那麼多的測試,完。
我該怎麼做?我知道allow(Object).to receive(:sleep)
,但我不確定Object
是什麼。或者還有其他更好的方法嗎?
你應該在它被調用的物體上存根睡眠
例如:
class SleepTest
def sleep_method
sleep 2
end
end
並在測試
sleep_test = SleepTest.new
allow(sleep_test).to receive(:sleep)
確實,這工作。非常感謝你! – linkyndy
我相信這個問題已經回答:[磕碰內核休眠(http://stackoverflow.com/questions/1168845/rspec-stubbing-kernelsleep) – skmichaelson
看到一個,但在我的情況下忍不住... – linkyndy