2011-01-22 16 views
5

Rails Uygulamamın testi için Cucumber, Rspec ve Factory Girl kullanıyorum. Ama çoğunlukla statik veri içeren birkaç arama tablolarım var. Bu yüzden test ederken bunları doldurmanın en iyi yolunu bulmaya çalışıyorum. FactoryGirl'de ayrı ayrı yapmak, sıkıcı görünüyor ve Fikstürlerden uzak kalmak isterim. Geliştirme ve üretim için bunları benim seed.rb dosyamda dolduruyorum.Test Tabloları Nasıl Kullanılır (Rails)

Teşekkürler!

cevap

7

Factory Girl .sequence, Populator ve Faker'u kullanın ve hiçbir zaman laboratuar fareleri tükenmezsiniz!

Factory.define(:model) do |m| 
    m.sequence(:title) { |n| "model-#{n}" } 
    m.author   Faker::Name.name 
    m.short    Populator.words(5) 
    m.long    Populator.paragraphs(1..3) 
end 

Sonra belki bir before :each blokta

@models = [] 
15.times { @models << Factory.create(:model) } 

Yoksa testlerden önce veritabanını doldurmak için sadece Populator kullanabilirsiniz.

+1

FactoryGirl için sözdizimi yeni güncellemelerde biraz değişiklik yaptı: https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md – Mirko

0

Belki test yardımcı dosyasında

rake RAILS_ENV=test db:seed 

gibi bir şey?

İlgili konular