I wrote a guest post over at 3 Weeks to Live on our progress in building data sets for testing OnCompare under Ruby on Rails.
The biggest challenge has been generating a large number of records, but I think we can do that with loops and factory_girl:
The other place to use large data is to stress test the system. … I need to know that the algorithm will continue to be responsive when we have 300 products. At this point, I’m looking at running loops around factory_girl calls so that it will generate most of the non-essential information. [Settings] up a single product matrix may take a dozen records, but I can loop over that 300 times and factory_girl will automatically create records with new names (using the sequence method shown in the factory definitions above).
before do category = Factory.create(:category) 300.times do product = Factory.create(:product, :category => category) 12.times do Factory.create(:question, :category => category, :product => product) end end end
As a follow-up, we also added Faker to our gem set, which has a ton of handy methods for mocking up data. So, for example, I can set up a factory definition with Faker::Lorem.words(3)
for the name or description of a product and 300 products will all look different. It’s pretty sweet.