我有這樣的代碼來驗證頻道的訂閱者:使用cookies.signed [:USER_ID]在水豚測試
,一切工作正常。問題出在功能測試中。 當我運行這個測試:
require 'rails_helper'
feature 'Chat room' do
scenario "send one message" do
user = create(:user)
login_as(user, :scope => :user)
expect {
fill_in 'message', with: 'hello friend'
click_button 'Send'
byebug
}.to change(Message, :count).by(1)
expect(current_path).to eq root_path
expect(page).to have_content 'hello friend'
end
end
測試日誌,說,「未經授權的連接嘗試被拒絕」。由於cookie爲空,因此無法進行身份驗證。
那麼如何在水豚測試中設置cookie?
我試過這樣做cookies.signed[:user_id] = user.id
在測試中,但它不起作用。
如何在測試中設置像這樣的餅乾cookies.signed[:user_id] = user.id
?
你是什麼login_as'的'界定,而/你什麼時候實際訪問的網頁的工作? –