2
RSpec mocks可以返回多個值。如何在RSpec mocks中使用動態值?
allow(die).to receive(:roll).and_return(1, 2, 3)
如何返回一個動態值,如:
allow(clock).to receive(:time).and_return Time.now.to_i
始終返回的第一個值。
是否有可能讓它評估每個電話time
的表達式?
RSpec mocks可以返回多個值。如何在RSpec mocks中使用動態值?
allow(die).to receive(:roll).and_return(1, 2, 3)
如何返回一個動態值,如:
allow(clock).to receive(:time).and_return Time.now.to_i
始終返回的第一個值。
是否有可能讓它評估每個電話time
的表達式?
只是刪除and_return
並傳遞塊:
allow(clock).to receive(:time) do
Time.now.to_i
end
警惕關於採取這種做法。在測試中出現非確定性行爲可能會導致嚴重的調試問題。 –