Я следил за бурными дебатами на Автоматическая загрузка данных семян из db / seeds.rb с помощью rake . Специалисты утверждают, что вы никогда не должны загружать начальные данные для тестов, но я придерживаюсь более умеренной позиции, когда бывают случаи, когда вам может понадобиться загрузить начальные данные для конкретных тестов , например. проверка наличия начальных данных.
В отличие от некоторых ответов, приведенных здесь, я не рекомендую безоговорочно загружать семена из вашего файла spec_helper. Вместо этого вы можете загрузить свои семена, используя before :each
или before :all
внутри только тех тестовых файлов, которым нужны семена, например:
describe "db seed tests" do
before(:each) do
load "#{Rails.root}/db/seeds.rb"
end
...your test code here...
end
обновление
Как указывает @marzapower, если вы пойдете по этому пути, ваш файл seed.db должен очистить каждую таблицу перед созданием записей или использовать методы find_or_create_by
. (Совет: первый быстрее и надежнее.) Это предотвратит повторяющиеся записи, если вы загрузите файл seed.db более одного раза.