Я пытаюсь изучить rspec и применить то, что я изучаю к существующему приложению rails.RSpec: Проблемы с преобразованием в новый синтаксис «allow» для mocks/stubs
Я пытаюсь создать макет пользователя, под названием «current_user»
я в основном взял эту строку кода
controller.stub(:current_user).and_return(build_stubbed(:user))
и поставил его перед моими тестами (все из которых требуют CURRENT_USER будет определено)
Это работает. Но
Я знаю, что этот синтаксис нежелателен, и я должен использовать
allow().to receive().and_return()
синтаксис, но я не могу показаться, чтобы преобразовать его в новый синтаксис и заставить его работать.
Я попытался
user = double("user")
allow(user).to receive(:current_user).and_return(build_stubbed(:user))
без успеха. В реальности я понятия не имею, что я делаю с этим, и нужно указывать в правильном направлении. Я много раз искал ответ, но я подозреваю, что это слишком основательно.
Поблагодарите за руководство.
Это работает. Поэтому, чтобы уточнить, если это было написано на английском языке, его высказывание .... «разрешить контроллеру иметь метод под названием current_user и отвечать на вызов этого метода с помощью объекта пользователя»? – GhostRider
Да, это очень хорошо. – Johnson