0

our test code is currently using factory_girl and I am trying to use fabrication for my tests to generate objects.

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

Could anyone tell me why the Fabricator is returning an empty array?

python
  • 4,403
  • 13
  • 56
  • 103

1 Answers1

1

The FactoryGirl defines it's factories in spec/factories/transaction.rb, and there you have something like this:

FactoryGirl.define do
  factory :transaction_batch do
    first_name "John"
    last_name  "Doe"
  end
end

The Fabricator uses "fabrications" from a different location, like spec/fabricators/transaction_fabricator.rb

And there you don't have defined fabrication. That is the reason, or you have a blank fabrication like:

Fabricator(:transaction_batch) do
end

Create a fabrication for Fabricator, and you should be fine.

Aleks
  • 4,866
  • 3
  • 38
  • 69