0
目前,我有一些Rails代码的控制器,做这样的事情:RSpec的延迟期望参数的匹配
def update
@local.update(...)
@local.save!
Exchange::publish_to_exchange('event-title', Serializer.new(@local).serializable_hash)
render ...
end
我想测试该消息已出版了正确的消息名称和序列化,更新目的。所以,在控制规范我做这样的事情:
let(:local) { create(:local_class) }
it 'publishes serialized version to exchange' do
expect(Exchange).to receive(:publish_to_exchange).with('event-title', Serializer.new(local).serializable_hash)
put :update, params
end
然而,这显然并不因为它是比较局部的未更新,可序列化的哈希值与更新的版本。我想知道在“put:update,params”这行之后是否有延迟匹配器的检查,以便我可以测试这种情况。