加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何使用Rspec测试视图中textarea的内容?

发布时间:2020-12-16 23:20:24 所属栏目:百科 来源:网络整理
导读:我正在用RSpec编写一个视图规范,我不断遇到这个问题.测试会找到textarea但是当我尝试测试内容时它会失败.有什么建议? 这是我遇到麻烦的测试. describe "reminders/edit.html.erb" do before(:each) do @reminder = Factory(:reminder) end it "should rende
我正在用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的内容?

解决方法

Textareas与输入元素不同,因为它们的’value’是它们的内容而不是它们的value属性,所以你应该匹配内容吗?试试这个:
f.should have_selector("textarea",:content => 'The big content')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读