测试渲染模板指定的次数

时间:2012-03-01 13:19:46

标签: testing partial-views rspec-rails

购物车有几个购物车。

如何测试是否为购物车中显示的每件商品呈现“cart_item”模板?

换句话说,如何测试模板是否被指定了多次?

我需要这样的东西:

it "renders cart_items" do
  render
  rendered.should render_template("checkout/cart/_cart_item", :times => cart.cart_items.count)
end

1 个答案:

答案 0 :(得分:1)

rspec-rails文档似乎涵盖了您的测试用例:http://rubydoc.info/gems/rspec-rails/file/README.md#View_specs

出于完整性的原因,请在文档中复制粘贴特定部分:

describe "events/index" do
  it "renders _event partial for each event" do
    assign(:events, [stub_model(Event), stub_model(Event)])
    render
    view.should render_template(:partial => "_event", :count => 2)
  end
end