Capybara avec des sous-domaines - default_host

J'ai une application qui utilise les sous-domaines pour changer de base de données (multi-tenant). Je suis en train d'utiliser le Capybara pour les tests d'intégration, et c'est vraiment s'appuie beaucoup sur des sous-domaines.

Ma compréhension était que la mise Capybara.default_host= à quelque chose serait de faire toutes mes demandes proviennent de cet hôte. Cela ne semble pas être le cas. Dans ce post, l'auteur recommande de visiter l'url explicite avec un hôte, mais cela devient un peu gênant si je suis la navigation de tous sur la place. Je voudrais juste mettre l'hôte, puis être en mesure d'utiliser mon rails de chemins comme prévu. Pas sûr de ce que je fais mal, mais voici ce que j'ai essayé:

# spec_helper.rb
RSpec.configure do |config|
  config.before(:each, :type => :request) do
    Capybara.default_host = 'http://app.mydomain.com'
  end
end

# in some_integration_spec.rb
before do
  puts "Capybara.default_host: #{Capybara.default_host}"
  puts "some_app_url: #{some_app_url}"
end

Cela donne le résultat:

Capybara.default_host: http://app.mydomain.com
some_app_url: http://www.example.com/some_path

Ce que je fais mal? default_host semble ne rien faire. Comme je l'ai dit, je ne veux pas avoir à dire visit(Capybara.default_host + some_app_path) que c'est un peu gênant à chaque fois. Sinon, pourquoi est-ce à default_host option existe pas?

InformationsquelleAutor brad | 2011-06-30