2017-06-19 94 views
0

你好:我一直停留在這個測試使用水豚了一些日子,現在並不能制定出一個解決方案。 有一些DOM修改使用AJAX,長話短說被執行以:水豚不渲染.js.erb

1)我的AJAX事件成功地觸發請求:

$.ajax({ url: 'nice_url', data: data, complete: function() {debugger} 
}); 

2)控制器接收該請求就好:

def update_dom 
<other stuff> 
    respond_to do |format| 
    format.js 
    end 
end 

3)要點:該文件update_dom.js.erb在DEV環境而不是在使用水豚+ RSpec的測試正確呈現。

update_dom.js.erb: 
debugger; //first line, breakopint no stopp in Test 
<% unless %W(boolean datetime).include?(@operators[:type])%> 
$.each($('.values'), function(i, valueField){ 
<other stuff, etc...> 

這實際上是整個問題,會明白它

+0

你實際使用JavaScript的驅動程序來運行這個特殊的水豚測試?如果沒有這個,將不會觸發JavaScript。基本的,但只是可以肯定! – TomD

+0

嗨,@TomD:感謝您的評論。我想你是指在我的測試中有'js:true'選項,是的。 – LegaTux

+0

可以編輯您的文章,包括您的rails_helper.rb和你的規範的代碼? 此外,想到它,調試器JS聲明停止與調試工具JS啓用,搞不清那些有在自動化測試。你可以嘗試在js.erb中將調試器更改爲類似於<%raise「錯誤」%>並查看它是否在dev和test中實際出錯? – TomD

回答

0

任何想法我在我的*.js.erb文件,該文件並沒有正在對開發者控制檯堆棧跟蹤反映了一個錯誤。我可以使用下面的指南進行調試(使用普通的Firefox,而不是螢火蟲,但仍然工作):solution