OBTENIR une url ou un chemin d'accès, à condition que la chaîne, dans un rspec test
Pour un contrôleur qui détermine le comportement de la barre latérale, j'ai besoin de faire appel à plusieurs urls; la barre latérale va changer (un.o) en fonction de la page sur laquelle il apparaît.
describe SidebarController do
before(:each) do
@sidebar = SidebarController.new
end
it 'should return :jobseekers for root_path' do
get(root_url)
@sidebar.section(root_path).should eq :jobseekers
end
end
Ceci, cependant, ne parvient pas à ActionController::RoutingError: No route matches {:controller=>"sidebar", :action=>"http://test.host/"}
Puis-je get
une url ou un chemin d'accès en tant que chaîne de caractères? Est-il une façon plus intelligente pour définir la request.
de données, plutôt que de l'Obtenir?
OriginalL'auteur berkes | 2011-07-12
Vous devez vous connecter pour publier un commentaire.
Pas dans un contrôleur de test. Le contrôleur de test n'est pas fait du traitement d'une URL, c'est la configuration du test à l'aide de l'un des 5 soutenir les types de demande (get, post, put, de la tête, supprimer), puis en appelant le contrôleur approprié à l'action. Voir la Guide des Tests d'Applications Rails.
Ce que vous cherchez est un test d'intégration, ou d'un "demande de spec" dans RSpec termes.
OriginalL'auteur zetetic
Voici une solution de contournement...au cas ou vous vouliez faire cela...pas forcément le meilleur moyen, mais un moyen.. cela fonctionne sur des rails 3.2...
OriginalL'auteur user151975