0
我有我的應用程序由下列has_many
/belongs_to
模型關聯:Rails:如何爲嵌套屬性的模型設置單元測試?
User
< Company
< Deed
< Subtransaction
,
其中Deed
accepts_nested_attributes_for
(和validates_associated
):subtransactions
。我希望使用Minitest
和fixtures
來測試我的模型驗證。
我已經通過明確定義提交給我的模型的參數的散列來設置我的測試。
我的模型試驗:
class DeedTest < ActiveSupport::TestCase
def setup
@user = users(:dagobert)
@newco = companies(:newco)
params = { :deed =>
{
:date => deeds(:inc_new).date,
:subtransactions_attributes =>
{ '1' =>
{
:shareholder_name => "Shareholder 1",
:num_shares => subtransactions(:new_subt1).num_shares
},
'2' =>
{
:shareholder_name => "Shareholder 2",
:num_shares => subtransactions(:new_subt2).num_shares
}
}
}
}
@deed = @newco.deeds.new(params[:deed])
end
<my tests here>
end
這是setup
我測試的正確方法?還是有更優雅或類似Rails的方法?