Ответ 1
allow(view).to receive_messages(:current_user => nil)
Я обновляю свои тесты до Rspec3 (что за беспокойство), удаляя все мои "shoulds", но я не могу решить, как обновить "view.stub" в моих тестах просмотра.
Я использую devection
Пример:
view.stub(:current_user) { nil }
render
expect(rendered).to .... etc
Это дает мне предупреждение об отказе:
Использование
stub
из старого синтаксиса:should
rspec-mocks без явного включения синтаксиса является устаревшим. Используйте новый синтаксис:expect
или явно включите:should
. Вызывается из....
Я не могу решить, как перейти на новый "улучшенный" синтаксис. Благодаря
allow(view).to receive_messages(:current_user => nil)
Вы также можете использовать:
allow(view).to receive(:current_user).and_return(nil)
Я лично считаю его более читаемым. Дополнительную информацию см. В docs.