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?

Foi útil?

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