LMo*_*LMo 6 rspec ruby-on-rails capybara
我正在尝试选择一个带水豚的单选按钮,它找不到单选按钮.这是我的rspec测试,视图和错误.请注意我使用工厂用于用户,技能等.
Rspec测试
scenario "user chooses a couple skills and moves on to bio" do
user = create(:user)
skill = create(:skill)
skill_two = create(:skill)
skill_three = create(:skill)
sign_in(user)
visit onboard_skills_path
choose(skill.name)
end
Run Code Online (Sandbox Code Playgroud)
视图
<%= form_for(:onboard_skill, url: onboard_skills_path) do |f| %>
<ul>
<% @skills.each do |skill| %>
<li>
<%= check_box_tag("skill_ids[]", skill.id, current_user.onboard_skill_ids.include?(skill.id)) %>
<%= f.label(skill.name) %>
</li>
<% end %>
</ul>
<%= f.submit "Next >", class: "submit_skills" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Unable to find radio button "Development 1"
Run Code Online (Sandbox Code Playgroud)
您正在用来choose
测试单选按钮,但在您提供的视图代码中您有一个check_box_tag
. 尝试更改check_box_tag
为radio_button_tag
,或者如果您确实想要一个复选框,请使用check
而不是choose
。
请注意,您还可以通过使用 find 搜索 id 来选择单选按钮或复选框。当水豚无法通过标签名称找到它时,这会有所帮助。尝试:
find(:css, "#skill_ids_[value='#{skill.id}']").set(true)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4276 次 |
最近记录: |