RSpec 模拟可以返回多个值。
allow(die).to receive(:roll).and_return(1, 2, 3)
如何返回动态值,例如:
allow(clock).to receive(:time).and_return Time.now.to_i
总是返回第一个值。
是否可以让它为每次调用 time
计算表达式?
最佳答案
只需删除 and_return
并传入 block :
allow(clock).to receive(:time) do
Time.now.to_i
end
关于ruby - 如何在 RSpec 模拟中使用动态值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30134300/