variables de session ruby
-
20-09-2019 - |
Question
Je suis en train d'écrire test assert de base:
def assert_session_has ( sessionvar )
return assert_not_nil session[:sessionvar]
end
quand je compile:
def test_auth_bob
#some setup and other validation methods
assert_not_nil session[user]
#more validations...
end
Je reçois l'erreur suivante:
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'
Toutes les idées?
La solution
Vous avez perdu deux points. Aussi douloureux que cela puisse paraître, certaines personnes ne remarquent même pas.
def test_auth_bob
#some setup and other validation methods
assert_not_nil session[:user]
#more validations...
end
Sans: l'utilisateur fait référence à une variable ou une méthode, avec un utilisateur du côlon est le symbole utilisateur. Ce poste sur Internet au sujet des symboles semble expliquer plus ... mais je l'ai pas lu. Je suis d'être appelé loin de l'ordinateur par un épisode émouvant passionnant mais lent du fil. Il est bon.
Autres conseils
Où déclarez-vous user
dans votre fonction test_auth_bob
? L'interprète se plaint que le symbole est indéfini.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow