如果控制器只响应javascript,你如何测试Rspec中的控制器?例如,这将是我的实际代码:
一些view.html.erb
link_to 'More Chips', add_chips_path, :remote => true
Run Code Online (Sandbox Code Playgroud)
chips_controller
def add_chips
Chips.create(:color => :red)
@chips = Chips.all
end
Run Code Online (Sandbox Code Playgroud)
add_chips.js.erb
$('#chip_count').html('<%=j render("chips/list", :chips => @chips) %>');
Run Code Online (Sandbox Code Playgroud)
Rspec测试
规格/控制器/ chips_controller_spec
it "should add chips" do
post :add_chips, :format => 'js'
end
Run Code Online (Sandbox Code Playgroud)
当我尝试使用RSpec发布到此时,我收到一个Missing Template错误,因为它正在发送HTML请求,但没有HTML视图.我试过传递一种格式,但似乎没有用.我知道我可以放入一个"虚拟"html视图来使它通过,但这似乎是一个黑客.
谢谢
有没有办法阻止Rails在运行测试之前清除测试数据库?我想使用生产数据库的副本进行测试,因此我需要防止rails每次都清除数据.
有相当多的数据,所以我想尽可能避免使用灯具,因为我假设每次都需要很长时间来填充数据库.
谢谢,迈克