0

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

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 %>

但这似乎并没有产生任何东西,而是我得到了 empty tds

我能做些什么来改善这一点?

4

1 回答 1

0

RSpecstub_model需要一个常量作为参数,例如ActiveRecord::Base用于定义模型的子类。它还需要附加参数或块来设置类实例的值。

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

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

于 2013-10-01T22:25:47.650 回答