我正在使用rails-3应用程序上的黄瓜BDD。
当我在step_definition中使用“assert!controller.signed_in?”时 当我跑“黄瓜” 然后我收到此错误“未定义的方法'signed_in?' for nil:NilClass(NoMethodError)“
为什么不进入controller-helper(signed_in?在sessions_helper中定义)?
当我尝试“assert ! SessionsController.signed_in?
”
Error : undefined method `signed_in?' for SessionsController:Class (NoMethodError)
当“assert ! SessionsHelpers.signed_in?
”时
错误:未定义的方法`signed_in?' for SessionsHelper:Module(NoMethodError)
在我的Sessions_helper中:
def signed_in?
!current_user.nil?
end
答案 0 :(得分:0)
我也遇到了这个问题,并通过将World(SessionsHelper)
添加到Cucumber步骤文件的底部来解决它(可能有更好的地方放置它)。
在旁注中,您可能会遇到与Cookie和会话相关的其他问题,因为看起来Cucumber在请求之间不支持这些问题。例如,在执行重定向/提交登录表单后,您将无法测试signed_in?
。