2015-09-04 10 views
0

У меня есть следующий код в моем приложении:Заглушки спать с RSpec

def timeout_tasks 
    10.times do 
    # Work... 
    sleep 2 
    end 
end 

Я хотел бы проверить этот метод, но нужно окурок sleep, чтобы я не должен ждать, что много для испытания на Конец.

Как это сделать? Я знаю allow(Object).to receive(:sleep), но я не уверен, что такое Object. Или есть другой лучший подход?

+0

Я считаю, что этот вопрос уже ответил: [гася сна ядро] (http://stackoverflow.com/questions/1168845/rspec-stubbing-kernelsleep) – skmichaelson

+0

Видел, что один, но не мог помочь в моем случае ... – linkyndy

ответ

1

Вы должны окурок спать на объекте он называется на

Ев.

class SleepTest 
    def sleep_method 
    sleep 2 
    end 
end 

А в тесте

sleep_test = SleepTest.new 
allow(sleep_test).to receive(:sleep) 
+0

Действительно, это сработало. Большое спасибо! – linkyndy

0

Похоже, что метод sleep определен в Kernel, так что это будет ваш объект.