为什么Rails中的辅助方法可用于测试?

时间:2015-05-10 07:13:58

标签: ruby-on-rails ruby

我正在关注Michael Hartl的Rails教程书,在第8章中你必须编写一个测试来查看用户是否已登录。书中说帮助方法在测试中不可用。所以虽然我们有方法

def current_user
  @current_user ||= User.find_by(id: session[:user_id])
end

我们必须使用会话方法并编写像

这样的测试
def is_logged_in?
    !session[:user_id].nil?
end

1 个答案:

答案 0 :(得分:0)

你可以直接在测试中包含辅助方法,但它会非常混乱,以后会引发许多问题。

辅助方法可用于控制器实例。您可以使用控制器(或包含帮助程序的其他对象)来调用该方法。