[英]How do I test the assignment of an instance variable in the new action of my controller with rspec?
[英]How do I set a variable in my rspec test so that it can be used by the controller for a query?
我的會話控制器中有一個變量。
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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.