2011-01-22 12 views
5

Używam Cucumber, Rspec i Factory Girl do testowania mojej aplikacji Rails. Ale mam kilka tabel wyszukiwania, które zawierają głównie dane statyczne. Próbuję więc znaleźć najlepszy sposób ich wypełnienia podczas testowania. Robienie ich pojedynczo w FactoryGirl wydaje się nudne i chciałbym trzymać się z dala od Urządzeń. Do rozwoju i produkcji zapełniam je w pliku seeds.rb.Jak zapełnić tabele wyszukiwania w testach (Rails)

Dzięki!

Odpowiedz

7

Użyj Factory Girl .sequence, Populator i Faker i nigdy nie zabraknie szczurów laboratoryjnych!

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 

Wtedy może w before :each bloku

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

Albo można użyć tylko Populator wypełnić swoją bazę przed testami.

+1

Składnia dla FactoryGirl zmieniła się nieco z nowymi aktualizacjami: https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md – Mirko

0

Może coś

rake RAILS_ENV=test db:seed 

w pliku pomocnika testowej?