Cucumber, capybara, capybara-webkit, selenium-webdriver, rspec 및 jasmine을 사용하여 Rails 3.2.8 위에 실행되는 Backbone 응용 프로그램을 테스트하려고합니다. 백본 템플릿을위한 템플릿 엔진으로 eco를 사용하고 있습니다.통합 Cucumber와 Capybara로 Backbone.js 응용 프로그램 테스트
내 문제는 capybara-webkit 또는 selenium이있는 @javascript 태그를 사용하여 시나리오를 실행할 때 표시되는 페이지에 모든 모델 특성 데이터가 들어 있지 않은 경우입니다. 여기
는 시나리오 : 페이지는 질문을 표시하지 않는 시나리오는 "내가 '? 그것에 대해 무엇을'볼 수 '단계에서 실패@javascript
Scenario : first scenario
Given There is Model with "name" as name and "What is it about ?" as associated questions
When I want to fill the questionnaire
Then I should be on the SPA form
And I should see "name"
And I should see "What is it about?"
있지만 표시" 이름 " console.log를 사용하여 백본 코드에 여러 디버그 문을 넣었습니다. 모델이 모든 특성과 함께 맞는지 확인할 수 있습니다. 또한이 문제없이 라이브에
템플릿을 노력하는 것은 다음과 같다 : 'show.jst.eco'
<p class="text-info"><%= @model.name %></p>
<form id="quidget-form" class="form-vertical">
<% for question in @model.questions: %>
<div class="issue_field">
<label class="string optional control-label"><%= question.question.question_text %></label>
<div class="control-group text">
<textarea class="text answer" name="question-<%= question.question.id %>" id="question_<%= question.question.id %>" data-question="<%= question.question.question_text %>" rows="3">
</textarea>
</div>
</div>
<% end %>
<div class="controls">
<input type="submit" value="Additional Informations" id="quidget-step-one" class="btn btn-success">
텍스트 영역이 표시되지만 질문 위하지 라벨 텍스트
아이디어가 있으십니까? 나는이 패스를보고 더 많은 단계로 더 복잡한 로직을 테스트 할 수 있기를 바란다.
감사합니다.
이것은 여러분이 원하는 답변이 아닐 수도 있지만 내 경험에 의하면 webkit과 selenium은 그리 신뢰할 만하지 않습니다. 또한 브라우저 간 테스트에서 사용자를 구해 내지 못합니다. 이 디버깅을 시도 할 수는 있지만 가치가있는 것보다 더 많은 시간을 할애 할 수 있습니다. 일반적으로 jasmine을 사용하여 JS 단위 테스트를 수행 한 다음 수동으로 브라우저 간 호환성을 검사합니다. – fedenusy