Domanda

Sto cercando di scrivere test di affermare di base:

def assert_session_has ( sessionvar )
    return assert_not_nil session[:sessionvar]
end

Quando compilo:

def test_auth_bob
    #some setup and other validation methods
    assert_not_nil session[user]
    #more validations...
end

ottengo il seguente errore:

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'

Tutte le idee?

È stato utile?

Soluzione

Hai perso due punti. Per quanto doloroso come quello suona, alcune persone non si accorgono neppure.

def test_auth_bob
    #some setup and other validation methods
    assert_not_nil session[:user]
    #more validations...
end

Senza il: utente si riferisce a una variabile o un metodo, con un utente del colon è il simbolo: utente. Questo post su internet sui simboli sembra spiegare altro ... ma io non l'ho letto. Mi viene chiamato lontano dal computer per un emozionante ma lento movimento episodio di The Wire. E 'un bene.

Altri suggerimenti

Dove si dichiara user nella funzione test_auth_bob? L'interprete si lamenta che il simbolo non è definito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top