Как мне использовать Rspec для проверки содержимого текстовой области в представлении? - PullRequest
6 голосов
/ 16 августа 2011

Я пишу спецификацию представления с 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, но я вижу, что этот тестпроходит, когда я удаляю значение из текстовой области, которое действительно смущает меня.Так есть ли способ проверить текстовую область на ее содержимое?

1 Ответ

8 голосов
/ 16 августа 2011

Текстовые области отличаются от входных элементов, потому что их «значением» является их содержимое, а не атрибут значения, поэтому следует ли вам сопоставлять содержимое?Попробуйте это:

f.should have_selector("textarea", :name => "reminder[content]", :content => 'The big content')
...