【发布时间】:2018-06-04 15:23:48
【问题描述】:
我有一个用 Rails 编写的multiple choice quiz game。我正在尝试编写一个集成测试,点击测验,选择正确的答案。这是我的看法:
<h2>The word is: <%= @question %> <br> </h2>
<h2>Your score is <%= session[:score] %> </h2>
<h2><%= @questions_remaining %> questions left!</h2>
<% answers = @quiz_words.shuffle %>
<%= form_tag("answer", method: "get") do %>
<%= radio_button_tag(:answer, "#{answers.first.id}")%><%= answers.first.definition %><br>
<%= radio_button_tag(:answer, "#{answers.second.id}")%><%= answers.second.definition %><br>
<%= radio_button_tag(:answer, "#{answers.third.id}")%><%= answers.third.definition %><br>
<%= radio_button_tag(:answer, "#{answers.fourth.id}")%><%= answers.fourth.definition %> <br>
<%= hidden_field_tag :orig, "#{@quiz_words.first.id}" %>
<%= submit_tag("Submit") %>
<% end %>
<%= link_to 'Back to Index', root_path %> <br>
正确答案在 html 源代码中生成为隐藏字段 id = 'orig' ,其值作为答案。
我希望 Capybara 查找隐藏字段及其值(“13”),然后在下一步中,选择与隐藏字段具有相同值的单选按钮。这是生成的 html 源代码
我是 Capybara 的新手,通过它的文档无法找到它是否可能。
这可能吗,如果可以的话,有人可以告诉我怎么做或指向我的文档吗?
这是测试测验功能的最佳方式吗?还是我会以另一种方式更好地测试它? (单元测试?)
【问题讨论】:
标签: ruby-on-rails capybara integration-testing