我想要测试运行在使用Cucumber,水豚,capybara-webkit,selenium-webdriver,rspec和jasmine的Rails 3.2.8之上的Backbone应用程序。我使用eco作为骨干模板的模板引擎。集成使用Cucumber和Capybara测试Backbone.js应用程序
我的问题是当我使用@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