В моей Dashboard#Index
, у меня есть это:Как проверить локальную переменную внутри контроллера с помощью Rspec?
def index
tagged_nodes = Node.includes(:user_tags).tagged_with(current_user.email)
end
Как проверить это с RSpec?
Я пробовал:
expect(assigns(tagged_nodes)).to match Node.includes(:user_tags).tagged_with(u1.email)
Но это дает мне эту ошибку:
NameError:
undefined local variable or method `tagged_nodes' for #<RSpec::ExampleGroups::DashboardController::GETIndex:0x007fe4edd7f058>
Yeh .... Я знаю, как тестировать переменные экземпляра. Так что, если у меня нет локальных переменных в контроллере? – marcamillion
У вас могут быть локальные переменные, но вам не нужно их тестировать. Вы должны проверить внешнее поведение контроллера: заданный определенный запрос, какой ответ он дает (или какие данные он передает в представление). Локальные переменные являются частным состоянием, и, как правило, вы не тестируете личное состояние. –
Ahh ок. В этом есть смысл. – marcamillion