Ответ 1
Попробуйте это
allow_any_instance_of(Website).to receive(:save).and_return(false)
Например: https://github.com/rspec/rspec-mocks#settings-mocks-or-stubs-on-any-instance-of-a-class
Обычно в тестах контроллера Rails я выполняю before { Website.any_instance.stub(:save).and_return(false) }
, чтобы проверить, что происходит, когда запись не сохраняется. Похоже, что any_instance
ушел с Rspec 3.
Я попытался использовать before { allow(Website).to receive(:save).and_return(false) }
для Rspec 3, но теперь я получаю эту ошибку:
Веб-сайт (id: integer,...) не реализует: save
Есть ли замена очень полезного any_instance
на Rspec 3?
Попробуйте это
allow_any_instance_of(Website).to receive(:save).and_return(false)
Например: https://github.com/rspec/rspec-mocks#settings-mocks-or-stubs-on-any-instance-of-a-class