Essayer d'utiliser une session, mais obtenir des résultats étranges.Plusieurs sessions avec Rspec et Capybara?
Le code RSpec suivant semble générer 2 sessions distinctes:
visit start_path
post session_path, { foo: "bar" }
Dans la méthode appelée par le contrôleur start_path:
session [: a commencé] = 'oui' met « Start: # {} session.inspect »
Dans le contrôleur de sessions:
def create
session[:foo] = params[:foo]
head :created
puts "Sessions controller: #{session.inspect}"
end
La sortie ressemble à:
Start: {"session_id"=>"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ...
Sessions controller: {"session_id"=>"yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" ...
La session ID de sont différents. Est-ce parce que RSpec crée 2 sessions, l'appel de post crée une session séparée, ou mon application fait quelque chose pour séparer les sessions?
Pourquoi deux sessions sont-elles créées?
Essayé de changer create
à un autre nom, mais cela n'a pas fait de différence.
Utilisation du cookie store.
Quelle version de rails/rspec/capybara utilisez-vous? – shigeya
En outre, quel pilote utilisez-vous? (J'utilise capybara-webkit avec un grand succès) – shigeya
Rails 3.2.2/Capybara 1.1.2/Rspec 2.11.0 et le pilote intégré Capybara. –