Railsのバージョンをロードしません。そのURLのコントローラーはセッションに何かを入れます。このテストでは、特定の値がセッションに存在することを確認しようとします。統合テストセッションは、セッションCookie
マイsession_store.rb:
Rails.application.config.session_store :cookie_store, key: '_companySite_session', expire_after: 1.year
私は見つけることだ、何が「セッション」として統合テストから呼び出されたセッション変数は、({})常に空のハッシュであるということです。
テストでrequest.hostを見ると、 "www.example.com"が表示されます。私はresponse.cookiesやクッキーを見れば、私は次を参照してください。つまり
#<Rack::Test::Cookie:0x00000006037108
@default_host="www.example.com",
@name="_companySite_session",
@name_value_raw=
"_companySite_session=a3RnYjRvWDlUYzRZaVlaTnlsK2RkeXBWcWFNYnQ1RVo4azNqdXNOanVWWWZVT2o5Vk0wTkVhY1dFOTBxdWNzMU5sY3c1cXhXRm0xT3JZWWZGUnluSnRuYTVoaWQ1S3ZZRXVMa1YyQ2pUMjEvOExaWkcybTdGT3lUZnZ0STRSSGVpc0dPU1VONWNwTEZxQlRvODN3eXdKZTYreVIvNDR4Y0IxMms2djlPWUZCcktYWmo1SElSZ0ttaHA5UWk5MDA5aVJzaGt3cUJ4V2tFY295ZGo4ak8ydUI3OWRnTUdkcmRpanVML3phalJtZ2c1OXByeExiRDhlcy9rR1RYUGh6NlkxV2xqNWl2VjlCMm45WXo0ajBKN0VTQ29CVGRQRVErOVIrNFZwdEZBc01oL2RaSGltUjdleGlWN3YySTdJUzcvbVlJbWdwWVNUVkw4K1pPc3JsUWxOR1BZNFVrUXFtYVVObmNlYlZrSklEbk5aU3VTck5MNm12a0NBMVF2aG5xLS1pSEJTVTVLZzJ2ZVA2M1IzTmJ4Njh3PT0%3D--f253c4e1678e53896a247b087e741cf006c5874f",
@options={"path"=>"/", "expires"=>"Fri, 08 Jun 2018 19:46:22 -0000", "HttpOnly"=>nil, "domain"=>"www.example.com"},
@value=
"a3RnYjRvWDlUYzRZaVlaTnlsK2RkeXBWcWFNYnQ1RVo4azNqdXNOanVWWWZVT2o5Vk0wTkVhY1dFOTBxdWNzMU5sY3c1cXhXRm0xT3JZWWZGUnluSnRuYTVoaWQ1S3ZZRXVMa1YyQ2pUMjEvOExaWkcybTdGT3lUZnZ0STRSSGVpc0dPU1VONWNwTEZxQlRvODN3eXdKZTYreVIvNDR4Y0IxMms2djlPWUZCcktYWmo1SElSZ0ttaHA5UWk5MDA5aVJzaGt3cUJ4V2tFY295ZGo4ak8ydUI3OWRnTUdkcmRpanVML3phalJtZ2c1OXByeExiRDhlcy9rR1RYUGh6NlkxV2xqNWl2VjlCMm45WXo0ajBKN0VTQ29CVGRQRVErOVIrNFZwdEZBc01oL2RaSGltUjdleGlWN3YySTdJUzcvbVlJbWdwWVNUVkw4K1pPc3JsUWxOR1BZNFVrUXFtYVVObmNlYlZrSklEbk5aU3VTck5MNm12a0NBMVF2aG5xLS1pSEJTVTVLZzJ2ZVA2M1IzTmJ4Njh3PT0=--f253c4e1678e53896a247b087e741cf006c5874f">
は、セッションCookieが存在すると思われ、そのドメインは、要求のホストに一致するように思えます。また、How to decrypt a Rails 5 session cookie manually?のコードを使用してこのCookieの値を出力しました。値は正しいです。
私のテスト環境の設定は、この時点でconfig.action_controller.allow_forgery_protection = falseを
を指定し、私はアイデアの出です。クッキーはそこにあり、リクエストのドメインに設定されています。期限切れではありませんが、セッションは空のハッシュのままです。何とか更新されていませんか?更新しようとしていますが、黙って失敗していますか?私は試してみることがなくなった。
このテストは、Rails 4.2.7で正常に動作します。
私は完全にそれに分割されていませんが、テストのフラッシュ変数も常に空であるように見えています。繰り返しになりますが、Rails 4で正常に動作したテストは、フラッシュが常に空であるように見えるため、破損しています。私はフラッシュとセッションが関連していると想定しているので、おそらく同じ問題が両方に影響します。