如果控制器仅使用 javascript 响应,如何在 Rspec 中测试控制器?例如,这将是我的实际代码:
一些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 测试
规格/控制器/chips_controller_spec
it "should add chips" do
post :add_chips, :format => 'js'
end
当我尝试使用 RSpec 发布到此内容时,我收到 Missing Template 错误,因为它正在发送 HTML 请求但没有 HTML 视图。我试过传递一种格式,但这似乎不起作用。我知道我可以放入一个“虚拟”html 视图以使其通过,但这似乎是一个 hack。
谢谢