سؤال
أحاول كتابة اختبار التأكيد الأساسي:
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
بدون: يشير المستخدم إلى متغير أو طريقة ، مع مستخدم القولون هو الرمز: المستخدم. هذا المنشور على الإنترنت حول الرموز يبدو أنه يشرح المزيد ... لكنني لم أقرأه. يتم استدعائي بعيدًا عن الكمبيوتر من خلال حلقة مثيرة ولكنه متحركة بطيئة من The Wire. هذا جيد.
نصائح أخرى
أين تعلن user
في الخاص بك test_auth_bob
وظيفة؟ يشكو المترجم المترجم من أن الرمز غير محدد.
لا تنتمي إلى StackOverflow