Вопрос

Я пытаюсь написать базовый тест утверждения:

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

когда я компилирую:

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

Я получаю следующую ошибку:

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'

Есть идеи?

Это было полезно?

Решение

Вы потеряли двоеточие.Как бы больно это ни звучало, некоторые люди даже этого не замечают.

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

Без :user относится к переменной или методу, а двоеточие user обозначает символ :user. Этот пост в Интернете о символах кажется, объясняет больше… но я не читал.Меня отвлекает от компьютера захватывающий, но медленный эпизод «Прослушки».Это хорошо.

Другие советы

Где вы заявляете user в вашей test_auth_bob функция?Интерпретатор жалуется, что символ не определен.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top