Rails, RSpec und Webrat: Die erwartete Ausgabe stimmt mit der gerenderten Ausgabe überein, zeigt jedoch weiterhin Fehler in der Ansichtsspezifikation an
Ich habe gerade angefangen, BDD mit RSpec / Cucumber / Webrat und Rails zu verwenden, und bin auf einige Frustration gestoßen, als ich versuchte, meine Ansichtsspezifikation zu erfüllen.
Zunächst starte ich Ruby 1.9.1p129 mit Rails 2.3.2, RSpec und RSpec-Rails 1.2.6, Cucumber 0.3.11 und Webrat 0.4.4.
Hier ist der Code für meine Frage
config / routes.rb:
map.b_posts 'backend/posts',
:controller => 'backend/posts',
:action => 'backend_index',
:conditions => { :method => :get }
map.connect 'backend/posts',
:controller => 'backend/posts',
:action => 'create',
:conditions => { :method => :post }
views / backend / posts / create.html.erb:
<% form_tag do %>
<% end %>
spec / views / backend / posts / create.html.erb_spec.rb:
describe "backend/posts/create.html.erb" do
it "should render a form to create a post" do
render "backend/posts/create.html.erb"
response.should have_selector("form", :method => 'post', :action => b_posts_path) do |form|
# Nothing here yet.
end
end
end
Hier ist der relevante Teil der Ausgabe, wenn ich script / spec ausführe:
'backend/posts/create.html.erb should render a form to create a post' FAILED
expected following output to contain a <form method='post' action='/backend/posts'/> tag:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><form action="/backend/posts" method="post">
</form></body></html>
Mir scheint, dass have_selector genau das ist, was die Vorlage generiert, aber das Beispiel schlägt immer noch fehl. Ich freue mich sehr darauf, meinen Fehler zu sehen (weil ich das Gefühl habe, dass es so ist)meine Error). Jede Hilfe wird sehr geschätzt!