2016-09-15 27 views
1

我想测试中轨(5)视图助手产生的无效字段的存在如何测试Ruby on Rails和assert_select中的禁用字段?

form_for(@metric) do |f| 
    f.text_field :type, disabled: true 
end 

它创建HTML

<input id="metric_type" type="text" name="metric[type]" value="Gamfora::Metric::Point" disabled="disabled"> 

它应该是可能只是

<input id="metric_type" type="text" name="metric[type]" value="Gamfora::Metric::Point" disabled> 

但好,做这份工作。


在Firebug中,我验证CSS选择器是input#metric_type:disabled

但是当我在控制器使用(+视图)测试

assert_select "input#metric_type:disabled" 

我得到错误

RuntimeError: xmlXPathCompOpEval: function disabled not found 

有什么办法,如何测试输入的ID选择被禁用?

回答

1

一种解决方案是

assert_select ".field input#metric_type" do |input| 
    assert input.attr("disabled").present? 
end