我有非常复杂的数据结构,需要通过某种特定的顺序将夹具数据加载到数据库中,但我无法找到实现它的方法。
答案 0 :(得分:0)
我建议调查factory_girl,更换夹具。 factory_girl使用您的模型和关联来创建测试数据,而不是手动创建要加载每个表的数据。来自wiki的示例工厂:
FactoryGirl.define do
factory :user do
first_name 'John'
last_name 'Doe'
age { 1 + rand(100) }
end
factory :admin, :parent => :user do
admin true
end
end
然后在配置测试以使用factory_girl之后,您只需使用以下命令创建模型:
# Saved instance
user = create(:user)
# Unsaved instance
user = build(:user)
如果需要创建大量可重复用于多个测试的数据,可以将所有factory_girl调用包装到test_helper中的一个方法中,该方法可以通过多个测试进行访问。