ruby-on-rails – 如何在我的rspec测试中设置变量,以便控制器可
发布时间:2020-12-17 03:47:44 所属栏目:百科 来源:网络整理
导读:我的会话控制器中有一个变量. session[:facebook_profile_id] = @user_info['id'] @user_info [‘id’]是一个int.示例:123 然后,我在主控制器中使用该会话变量从数据库中获取配置文件对象. def show @facebook_profile = FacebookProfile.find_by_facebook_
我的会话控制器中有一个变量.
session[:facebook_profile_id] = @user_info['id'] @user_info [‘id’]是一个int.示例:123 然后,我在主控制器中使用该会话变量从数据库中获取配置文件对象. def show @facebook_profile = FacebookProfile.find_by_facebook_id(session[:facebook_profile_id]) end 使用会话变量找到新对象并在我的应用程序中使用,因此我的rspec测试在没有它的情况下失败. 这是我的工作室FacebookProfile: FactoryGirl.define do factory :facebook_profile do |f| f.facebook_id 123 end end 在我对应用程序的规范测试中,我在每次测试之前创建Factory实例: FactoryGirl.create(:facebook_profile).should be_valid 如何在我的规范测试中设置session [:facebook_profile_id]变量,以便@facebook_profile的查找不会失败? 我试过抄袭,但无法让它发挥作用.另外,我一直在我的功能规范中尝试这个.我应该在控制器规范中这样做吗? 解决方法
如果您的目的是功能测试,那么在测试中直接分配它很简单
# describe ..... session[:facebook_profile_id] = 123 # end 分配后,您也可以直接获取变量 session[:facebook_profile_id] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |