J'essaye de tester une méthode de présentateur en utilisant un matcher Capybara RSpec.Comment utiliser Capybara Rspec Matchers pour tester un présentateur?
Disons que j'ai une méthode qui rend un bouton. Ce serait le test j'écrire si je n'utilisais pas capybara rspec matchers:
it "should generate a button" do
template.should_receive(:button_to).with("Vote").
and_return("THE_HTML")
subject.render_controls.should be == "THE_HTML"
end
L'utilisation matchers de rspec capybara, je veux faire:
it "should render a vote button" do
subject.render_controls.should have_button('Vote')
end
Cette approche a été proposée dans cet article http://devblog.avdi.org/2011/09/06/making-a-mockery-of-tdd/. Dans l'article, l'auteur l'explique ainsi: "J'ai décidé de changer un peu ma configuration afin de passer un objet modèle incluant les helpers de tag Rails, puis j'ai inclus les matcheurs de Capybara pour faire des assertions HTML. "
Cependant, je ne comprends pas cela. Comment pouvez-vous utiliser les coupleurs capybara rspec quand render_controls ne renvoie qu'un content_tag?