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」這行之後是否有延遲匹配器的檢查,以便我可以測試這種情況。