我的应用中有以下has_many
/ belongs_to
模型关联:
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的方法?
答案 0 :(得分:1)
您可以使用setup
来定义设置方法。它将在测试之前运行。
setup do
@data_form = {
title: Faker::Commerce.department,
description: Faker::Lorem.paragraph,
price: Faker::Commerce.price,
category_id: 1
}
end