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

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

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

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

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

最新更新