Я просто не могу понять, что именно окурки.Что такое RSPEC Stubs? На пример
Может ли кто-нибудь объяснить, что должен делать следующий код RSPEC. И в чем преимущество использования заглушки здесь?
require "performance_monitor"
require "time" # loads up the Time.parse method -- do NOT create time.rb!
describe "Performance Monitor" do
before do
@eleven_am = Time.parse("2011-1-2 11:00:00")
end
it "takes exactly 1 second to run a block that sleeps for 1 second (with stubs)" do
fake_time = @eleven_am
Time.stub(:now) { fake_time }
elapsed_time = measure do
fake_time += 60 # adds one minute to fake_time
end
elapsed_time.should == 60
end
end
Я думаю, что смогу понять на примере.
'stub' здесь используется для' override' функции 'now'' Time', поэтому вместо этого возвращаем текущее время, которое вы получили от 'Time.now' после заглушки, оно вернется 'Time.now + 60', который определяется в' fake_time' –
. Как это похоже на Object.stub (: replace_this_original_value) {with_this_fake_value}? – aayushgx
да, вы можете переопределить свои методы с помощью этой заглушки ....... –