我正在用RSpec编写一个视图规范,我不断遇到这个问题。测试会找到textarea但是当我尝试测试内容时它会失败。有什么建议吗?
这是我遇到麻烦的测试。
describe "reminders/edit.html.erb" do
before(:each) do
@reminder = Factory(:reminder)
end
it "should render the form to edit a reminder" do
assign :reminder, @reminder
render
rendered.should have_selector("form", :method => "post", :action => reminder_path(@reminder) ) do |f|
f.should have_selector("input", :type => "text", :name => "reminder[title]", :value => "The Title" )
f.should have_selector("textarea", :name => "reminder[content]", :value => 'The big content')
f.should have_selector("input", :type => "submit")
end
end
我可能做错了,因为我在TDD上很新,但是当我从textarea中删除真正让我感到困惑的值时,我看到这个测试通过了。那么有没有办法测试textarea的内容?
答案 0 :(得分:8)
Textareas与输入元素不同,因为它们的'value'是它们的内容而不是它们的value属性,所以你应该匹配内容吗?试试这个:
f.should have_selector("textarea", :name => "reminder[content]", :content => 'The big content')