Question

Existe-t-il un bon moyen de tester un contrôleur avec RSPEC? En fait, je teste la sortie complète (y compris la vue rendue) avec rack / test.

Prenez le contrôleur minimal suivant par exemple:

MyApp.controllers :cool_controller do

  get :index do
    some_var = DateTime.now
    render 'some_view', :locals => { :dont_know => nil, :some_var => some_var }
  end

end

Quelle serait la meilleure option à tester, que les valeurs du hachage des habitants sont comme je m'attendais à ce qu'elles soient?

Était-ce utile?

La solution

Pour ce cas, il semble que vous souhaitiez tester: a) DateTime.now vous donne une valeur valide - tester directement en utilisant RSPEC classique. b) Le var quelque_var est transmis pour rendre, mais c'est trivial.

Il semble que vous voudrez peut-être tester la vue isolément. Quelque chose comme ça (non testé):

it 'shows the time now' do
    right_now = DateTime.now
    engine = Haml::Engine.new(IO.read('some_view.haml'))
    rendered = engine.render(Object.new, :@some_var => right_now)
    rendered.should have_css('ul#some_var li', :text => right_now)
end 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top