Вы можете добавить шпиона к $redis
, чтобы утверждать, что publish
вызывается с определенными аргументами, такими как:
expect($redis).to receive(:publish).with('realtime_msg', /hello world/)`
Последняя часть, /hello world.*recipient_user_ids/
, является просто примером регулярного выражения, которое вы можете использовать для сопоставления строки JSON, которую вы предоставляете в качестве второго аргумента для publish
. Там вы можете использовать пользовательское сопоставление или любое другое сопоставление аргументов rspec, которое соответствует вашим целям.