Вот моя ситуация - у меня есть помощник с именем LayoutHelper, который я использую, чтобы помочь мне построить макет, и я пытаюсь протестировать следующий метод.
У него есть метод в LayoutHelper, который выглядит примерноthis:
def show_login_form?
return false if @hide_login_form || logged_in?
return true
end
У меня также есть следующее в моем application.rb:
helper_method :logged_in?
def logged_in?
return @logged_in_user.present?
end
И, наконец, мой тестовый файл выглядит так:
require File.dirname(__FILE__) + '/../../test_helper'
class LayoutHelperTest < ActionView::TestCase
def test_hide_login_form
assert(show_login_form?)
hide_login_form
assert(!show_login_form?)
end
end
Теперь моя проблема в том, что когда я запускаю этот тест, я получаю следующее:
NoMethodError: undefined method `logged_in?' for #<LayoutHelperTest:0xb7a7aca8>
app/helpers/layout_helper.rb:17:in `show_login_form?'
layout_helper_test.rb:12:in `test_hide_login_form'
Мне интересно, правильно ли я делаю это в Rails, и если да, то что мне нужно изменить, чтобычтобы этот тест заработал.