У меня есть базовая модель, подобная следующей
class MyModel
def initialize(attrs)
@attrs = attrs
@rest_client = Some::REST::Client.new
end
def do_a_rest_call(some_str)
@rest_client.create_thing(some_str)
end
end
В целях тестирования я не хочу, чтобы @rest_client совершал удаленные вызовы. Вместо этого в тестовой среде я просто хочу убедиться, что @rest_client
вызывается с определенным some_str
, когда он проходит через определенные ветви кода.
В идеальном мире у меня было бы утверждение, подобное:
expect(my_model_instance).to.receive(do_a_rest_call).with(some_str)
где в тесте я передам some_str, чтобы убедиться, что он правильный.
Какой лучший способ сделать это, используя RSpec 3.8 и Rails 5.2.2?