我正在阅读有关使用“时间”的 rspec 教程。有人可以解释以下代码的含义吗?
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
我知道它假设需要 60 秒,但从技术上讲,我只是在 time 变量中添加 60 秒fake_time
,这应该是瞬时的。为什么需要 60 秒?
measure
这是我编写的函数代码。假设测量运行一段代码需要多长时间。
def measure
m1 = Time.now
num.times { yield }
m2 = Time.now
m2 - m1
end