【发布时间】:2009-11-23 19:23:30
【问题描述】:
我目前对连续调用的模拟设置了一些期望:
规格:
@my_mock = mock("a_mock")
@options1 = {:some => "option"}
@options2 = {:some_other => "option"}
@first_param = mock("first_param")
@my_mock.should_receive(:a_message).with(@first_param, @options1)
@my_mock.should_receive(:a_message).with(@first_param, @options2)
但是,我得到以下信息:
Mock "a_mock" received :a_message with unexpected arguments
expected: (#<Spec::Mocks::Mock:0x81b8ca3c @name="first_param"{:some => "option"})
got: (#<Spec::Mocks::Mock:0x81b8ca3c @name="first_param">, {:some_other => "option"})
当我调试它时,第一个期望被调用。我是否必须指定其他任何内容才能预期具有相同消息但参数不同的连续调用?
【问题讨论】:
-
当我尝试您的示例时,它对我来说效果很好。您正在运行哪个版本的 Ruby 和 RSpec?
标签: ruby-on-rails ruby rspec