Variáveis de sessão de rubi
-
20-09-2019 - |
Pergunta
Estou tentando escrever um teste básico de assert:
def assert_session_has ( sessionvar )
return assert_not_nil session[:sessionvar]
end
Quando eu compilar:
def test_auth_bob
#some setup and other validation methods
assert_not_nil session[user]
#more validations...
end
Estou tendo o erro a seguir:
test_auth_bob(UserControllerTest):
NameError: undefined local variable or method `user' for #<UserControllerTest:0x3460c28>
/test/functional/user_controller_test.rb:23:in `test_auth_bob'
Alguma ideia?
Solução
Você perdeu um cólon. Por mais doloroso que isso pareça, algumas pessoas nem percebem.
def test_auth_bob
#some setup and other validation methods
assert_not_nil session[:user]
#more validations...
end
Sem o: Usuário refere -se a uma variável ou método, com um usuário de cólon é o símbolo: Usuário. Este post na internet sobre símbolos parece explicar mais ... mas eu não li. Estou sendo chamado do computador por um episódio emocionante, mas lento, de The Wire. É bom.
Outras dicas
Onde você declara user
na tua test_auth_bob
função? O intérprete está reclamando que o símbolo é indefinido.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow