0
레일 3는, 생산에서 작동, 개발 (레일 3 응용 프로그램)
I 양식 내부의 목록이 있습니다
<%= form_for @article do |f| %>
<ul>
<% @product.each do |p| %>
<li id="product_<%=p.id%>">
<div>
<%= f.radio_button(:p_id, p.id, class: 'hidden') %>
</div>
</li>
<% end %>
</ul>
<%= f.submit 'submit', :id=>"submit_category", :class=>'hide' %>
<% end %>
내가 있도록 자바 스크립트 함수를 추가를 사용자가 li 요소를 클릭하면 라디오 버튼이 선택되고 양식이 제출됩니다.
<script type="text/javascript">
$('li').click(function() {
$(this).find('input[type=radio]').attr('checked', true);
$('#submit_category').click();
});
</script>
이 완벽하게 생산, 개발에 작동하지만, 테스트 환경에 실패 : 라디오 버튼이 선택되지 않은 양식이 제출,하지만, 그래서 나는 유효성 검사 오류가 발생합니다.
내 테스트는 Cucumber + Selenium + Capybara로 수행됩니다. 테스트 행 :
When /^I click on the "(.*?)" product$/ do |product_name|
@product = Product.find_by_name(product_name)
page.find('li', id: "product_#{@p.id}").click
end
나는이 질문이 오래된 것을 알고 있지만 검증 오류가 있거나 테스트 자체에 오류가 있습니까? 테스트에서 JS를 사용할 수 있다고 가정합니다. – Sia