2011-01-22 10 views
5

Estoy usando Cucumber, Rspec y Factory Girl para probar mi aplicación Rails. Pero tengo varias tablas de búsqueda que contienen principalmente datos estáticos. Así que estoy tratando de descubrir la mejor manera de poblar estos al realizar pruebas. Hacerlos individualmente en FactoryGirl me parece tedioso y me gustaría mantenerme alejado de los accesorios. Para el desarrollo y la producción, los rellene en mi archivo seeds.rb.Cómo rellenar tablas de búsqueda en Testing (Rails)

Gracias!

Respuesta

7

¡Use Factory Girl .sequence, Populator y Faker y nunca se quedará sin ratas de laboratorio!

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 

Entonces, tal vez en un bloque before :each

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

o puede utilizar solamente Populator para llenar su base de datos antes de las pruebas.

+1

La sintaxis para FactoryGirl cambió un poco con las nuevas actualizaciones: https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md – Mirko

0

tal vez algo como

rake RAILS_ENV=test db:seed 

en su archivo de ayuda de prueba?

Cuestiones relacionadas