我们的测试代码目前正在使用factory_girl
,我正在尝试使用fabrication
进行测试以生成对象。
In Factory_Girl
batch = FactoryGirl.create(:transaction_batch)
puts batch # print out a transaction object
In Factory Girls
batch = Fabricator(:transaction_batch)
puts batch # prints out an empty array
有人能告诉我为什么Fabricator会返回一个空数组吗?
答案 0 :(得分:1)
FactoryGirl
在spec/factories/transaction.rb
中定义了它的工厂,你有这样的东西:
FactoryGirl.define do
factory :transaction_batch do
first_name "John"
last_name "Doe"
end
end
Fabricator
使用"制作"来自其他地方,例如spec/fabricators/transaction_fabricator.rb
你还没有定义制作。这就是原因,或者你有一个空白的制作,如:
Fabricator(:transaction_batch) do
end
为Fabricator创建一个制作,你应该没问题。