Rubin Session-Variablen
-
20-09-2019 - |
Frage
Ich versuche Grund assert Test zu schreiben:
def assert_session_has ( sessionvar )
return assert_not_nil session[:sessionvar]
end
, wenn ich kompilieren:
def test_auth_bob
#some setup and other validation methods
assert_not_nil session[user]
#more validations...
end
ich die folgende Fehlermeldung erhalten:
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'
Irgendwelche Ideen?
Lösung
verloren Sie einen Doppelpunkt. So schmerzlich das auch klingen mag, haben manche Leute nicht einmal bemerken.
def test_auth_bob
#some setup and other validation methods
assert_not_nil session[:user]
#more validations...
end
Ohne die: user bezieht sich auf eine variable oder eine Methode, mit einem Doppelpunkt Benutzer ist das Symbol: user. Dieser Beitrag im Internet über Symbole zu erklären, erscheint mehr ... aber ich habe es nicht gelesen. Ich werde vom Computer durch eine spannende, aber langsam bewegende Episode von The Wire abberufen. Es ist gut.
Andere Tipps
Wo erklären Sie user
in Ihrer test_auth_bob
Funktion? Der Dolmetscher beschwert sich, dass das Symbol nicht definiert ist.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow