【发布时间】:2011-05-24 11:08:04
【问题描述】:
我正在尝试测试是否存在表单。我是 Rails 新手。
我的new.html.erb_spec.rb 文件的内容是:
require 'spec_helper'
describe "messages/new.html.erb" do
it "should render the form" do
render '/messages/new.html.erb'
reponse.should have_form_putting_to(@message)
with_submit_button
end
end
视图本身 new.html.erb 有代码:
<%= form_for(@message) do |f| %>
<%= f.label :msg %> <br />
<%= f.text_area :msg %>
<%= f.submit "Submit" %>
<% end %>
当我运行rspec 时,它失败了:
1) messages/new.html.erb should render the form
Failure/Error: render '/messages/new.html.erb'
Missing partial /messages/new.html with {:handlers=>[:erb, :rjs,:builder,:rhtml, :rxml], :formats=>[:html,:text, :js, :css, :ics, :csv, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json], :locale=>[:en, :en]} in view paths "/Users/tristanmartin/whisperme/app/views"
# ./spec/views/messages/new.html.erb_spec.rb:5:in `block (2 levels) in <top (required)>'
有谁知道问题出在哪里?
谢谢!
【问题讨论】:
-
您可以尝试使用 have_form_posting_to 而不是 have_form_putting_to 看看您是否仍然遇到错误?
-
尝试从路径名中删除前导斜杠。
-
感谢 Raghu,我没有注意到我使用了错误的方法。但仍然出现错误。
-
我从路径名中删除了前导斜杠,但仍然出现错误。
标签: ruby-on-rails ruby unit-testing view rspec