1
我正在使用Devise通過JSON請求進行身份驗證。它在rspec功能測試中的作用除remember_me
之外,但它在通過我的開發服務器使用curl時起作用。當然,我做錯了什麼,任何幫助讚賞設計:「remember_me」適用於開發,但不適用於測試環境
特色規格:
it 'Log in with "remember_me"' do
user = create :user
params = {user: {email: user.email, password: 'debug', remember_me: '1'}}
post '/api/v1/auth/sign_in', params, format: :json
response.status.should eq(201) # created
response.cookies.has_key?('_my_app_session').should eq(true)
response.cookies.has_key?('remember_user_token').should eq(true)
end
這將失敗,並expected: true got: false
命令行的最後一行:
curl -v -H "Accept: application/json" -H "Content-type: application/json" \
-X POST -d '{"user":{"email":"[email protected]","password":"debug","remember_me":"1"}}' \
http://localhost:3000/api/v1/auth/sign_in
這工作,因爲在輸出中
Set-Cookie: remember_user_token=W1s3Nl0sIiQyYSQxMCRoOERF...
提前
感謝所有幫助
什麼是寶石版本?我在google –
中沒有看到任何類似的問題感謝您的關注,我檢查了一下,發現沒有錯。但是我發現cookie已簽名,因此不包括在'response.cookies'中。 – Benj