假设我有以下表格字段:
<%= simple_form_for @page do |f| %>
<%= f.input :name, label: false, placeholder: "Name" %>
<%= f.button :submit %>
<% end %>
我如何测试它的存在?
以下说没有找到匹配项:
it { should have_field("name")}
还尝试了"page[name]"
,这是HTML中字段的名称,但是RSpec给了我这个错误:
it { should matcher }
RSpec expects the matcher to have a #description method. You should either
add a String to the example this matcher is being used in, or give it a
description method. Then you won't have to suffer this lengthy warning again.
是方括号导致这个吗?提前谢谢。
答案 0 :(得分:1)
提供该页面是一个主题:
it { should have_selector("form input[name='page[name]']") }
答案 1 :(得分:1)
该消息所说的是您缺少该示例的描述字符串,这是因为您只有it { should have_field("name")}
按如下方式更新您的示例:
it 'has name input field' { should have_field("page[name]")}
如果您有多个可能属于同一组的示例,则可以describe
使用it
作为:
describe 'Page form' do
it 'has name input field' { should have_field("page[name]")}
it ... { ... }
end
有关使用RSpec的其他建议最佳做法,请参阅Better Specs。