Пытаюсь написать несколько тестов для кода, который я уже написал, с целью расширения моего кода с помощью разработки через тестирование.
У меня есть контроллер, действие index которого вызывает метод user_info, который просто собирает вместе некоторые переменные экземпляра, полагаясь на переменную Sorcery current_user. Например:
def user_info
@current_A = current_user.a
@current_B = current_user.b
end
def index
user_info
// rest of the method goes here
end
Я начал писать несколько тестов с использованием rspec, просто чтобы получить представление о тестировании этой базы кода. Моя спецификация контроллера очень проста и выглядит так:
describe MyController do
describe "GET 'index'" do
get 'index'
response.should be_success
end
end
Однако при попытке запустить эту спецификацию я получаю следующую ошибку: NoMethodError: undefined method 'a' for false:FalseClass
Прежде всего, как мне заставить мою спецификацию распознавать метод Sorcery current_user? И, из любопытства, почему current_user помечен как экземпляр FalseClass? Если он не вызывает метод Sorcery (и я не определил current_user где-либо еще в своем коде), не должен ли он отображаться как nil?