我有一个像这样的文字字段:
<%= form_for(ownership, remote: true) do |f| %>
<div>
<%= f.text_field :confirm, value: nil, title: t('label.transaction.confirmation.code') %>
<%= f.hidden_field :start_date, value: Time.now %>
</div>
<%= f.submit t('button.ownership.take.confirmation'), class: "btn btn-small"%>
<% end %>
我想用rspec填写文本字段:
fill_in t('label.transaction.confirmation.code'), with: "something"
但它不起作用,因为rspec无法识别标题标记以填写文本字段:
Failure/Error: fill_in t('label.transaction.confirmation.code'), with: confirmation_code
Capybara::ElementNotFound:
Unable to find field "Code de confirmation"
您是否知道使用rspec填写文本字段而无需添加标签的方法?
答案 0 :(得分:3)
fill_in
方法的第一个参数必须是css选择。例如:#id
,li
,.class
。
因此,您可以更改t('label.transaction.confirmation.code')
到文字字段id
或[title='#{t('label.transaction.confirmation.code')}']
e.g。
<input id="conf_code">
fill_in 'conf_code', with: 'something'