Rspec查看测试模型存根变量未传递给视图的循环

时间:2013-10-01 21:34:46

标签: ruby-on-rails rspec

我有以下代码将我的模型变量传递给视图

describe "payslips/index.html.erb" do
  it "should display the page" do
    assign(:income_tax_rates, [
        stub_model(IncomeTaxRate.all)
    ])

    render

    puts rendered
    # expect(rendered).to include()
  end
end

然后我有了这个:

<% @income_tax_rates.each do |tax_rate| %>
                    <tr>
                        <td><%= number_to_currency tax_rate[:income_from], :precision => 0 %></td>
                        <td><%= number_to_currency tax_rate[:income_to], :precision => 0 %></td>
                        <td><%= tax_rate[:start] %></td>
                        <td><%= tax_rate[:finish] %></td>
                        <td><%= tax_rate[:rate] %></td>
                        <td><%= number_to_currency tax_rate[:premium], :precision => 0 %></td>
                    </tr>
                    <% end %>

但这似乎没有产生任何东西,而是我变空td s

我可以做些什么来改善这个?

1 个答案:

答案 0 :(得分:0)

RSpec的stub_model期望一个常量作为参数,例如用于定义模型的ActiveRecord::Base子类。它还需要额外的参数或块来设置类实例的值。

您已传入ActiveModel::Relation,这是all的结果,即使您提供了预期的类常量,也没有提供任何参数值。< / p>

请参阅示例,了解如何在https://www.relishapp.com/rspec/rspec-rails/v/2-3/docs/mocks/stub-model

中使用此示例