Ich habe gerade begonnen, BDD mit RSpec/Cucumber/Webrat und Rails zu benutzen und ich bin frustriert, um meine Sicht zu bekommen Spezifikation zu übergeben.Rails, RSpec und Webrat: Erwartete Ausgabe stimmt mit gerenderter Ausgabe überein, aber immer noch Fehler in der View-Spezifikation
Als erstes 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 relevant zu meiner 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/Beiträge/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 Skript/spec laufen:
'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>
Es erscheint mir wäre das was have_selector ist auf der Suche nach ist genau das, was die Vorlage erzeugt, noch das Beispiel schlägt immer noch fehl. Ich freue mich sehr auf meinen Fehler (weil ich das Gefühl habe, es ist mein Fehler). Jede Hilfe wird sehr geschätzt!
Update: Es funktioniert, wenn ich den Block entfernen. –