你如何在 RSpec 中测试控制器,如果该控制器只使用 JavaScript 响应?例如,下面是我的实际代码:
一些 view.html.erb
link_to 'More Chips', add_chips_path, :remote => true
芯片控制器
def add_chips
Chips.create(:color => :red)
@chips = Chips.all
end
add_chips.js.erb
$('#chip_count').html('<%=j render("chips/list", :chips => @chips) %>');
Rspec测试
spec/controllers/chips_controller_spec
it "should add chips" do
post :add_chips, :format => 'js'
end
当我尝试使用RSpec进行发布时,由于发送的是HTML请求但没有HTML视图,因此会出现“缺少模板”错误。 我已经尝试传递格式,但似乎不起作用。 我知道我可以添加一个“虚拟”的HTML视图来使其通过,但这看起来像是一种hack。
谢谢