0

我正在尝试编写基本的断言测试:

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'

有任何想法吗?

4

2 回答 2

2

你在哪里声明user你的test_auth_bob函数?解释器抱怨符号未定义。

于 2009-08-31T18:56:25.690 回答
1

你丢了一个冒号。听起来很痛苦,有些人甚至没有注意到。

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

没有:user 是指变量或方法,有冒号的user 是符号:user。互联网上关于符号的这篇文章似乎解释了更多……但我还没有读过。我被《火线》中惊心动魄但动作缓慢的一集叫离开电脑。很好。

于 2009-08-31T21:21:03.620 回答