2017-06-19 91 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