背景:所以我粗略地(Ruby on Rails应用程序)
class A
def calculate_input_datetimes
# do stuff to calculate datetimes - then for each one identified
process_datetimes(my_datetime_start, my_datetime_end)
end
def process_datetimes(input_datetime_start, input_datetime_end)
# do stuff
end
end
所以:
问题:我如何设置rspec测试,所以我可以具体 测试是否尝试将正确的日期时间传递给 process_datetimes,因此对于process_datetimes的给定规范测试 通过以下参数调用三(3)次说:
感谢
答案 0 :(得分:1)
听起来像你想要should_receive
并使用with
指定预期的参数,例如
a.should_receive(:process_datetimes).with(date1,date2)
a.should_receive(:process_datetimes).with(date3,date4)
a.calculate_input_datetimes
docs中有更多示例,例如,如果这些调用的顺序很重要,您可以使用.ordered