我想测试rails(5)视图帮助
中生成的禁用字段的存在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
。
但是当我在控制器(+ view)测试中使用它时
assert_select "input#metric_type:disabled"
我收到错误
RuntimeError: xmlXPathCompOpEval: function disabled not found
有没有办法,如何测试ID选择的输入被禁用?
答案 0 :(得分:2)
一个解决方案是
assert_select ".field input#metric_type" do |input|
assert input.attr("disabled").present?
end