1
这里是我的情况 - 我有一个名为LayoutHelper的帮助器,用于帮助我构建布局,并试图测试以下方法。如何测试Rails:生活在application.rb中的helper_methods?
它已LayoutHelper的方法,看起来与此类似:
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方式,如果是这样,我需要更改才能使此测试工作。