run_times を実行するたびに私が理解していることから、run_times の値の 1 つがポップオフされ、fake_time に追加されます。そして、私の測定方法では、それらを収集して平均を取得することになっています。しかし、メソッド内から値を取得できないようです。
次の rspec を渡す必要があります。
it "returns the average time, not the total time, when running multiple times" do
run_times = [8,6,5,7]
fake_time = @eleven_am
Time.stub(:now) { fake_time }
average_time = measure(4) do
fake_time += run_times.pop
end
average_time.should == 6.5
end
これが私のコードです:
def measure (n = 1)
if n > 1
n.times { yield }
else
start = Time.now
yield
elapsed_time = Time.now - start
elapsed_time
end
end
前もって感謝します!私はしばらくこれに固執しており、何も機能していないようです。