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?

War es hilfreich?

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
scroll top