Создание заводов с инициализацией тестовой среды - PullRequest
0 голосов
/ 09 апреля 2019

Я использую Rspec с Factorybot и хочу создать некоторые конкретные данные (и впоследствии их удалить) каждый раз перед запуском среды Rails test.

Например, все мои модели полагаются на Manufacturer, и я хочу уже создать Manufacturer, когда я запускаю свою тестовую среду и все мои фабрики ассоциируются с этим конкретным Manufacturer объектом (важно, чтобы его один и тот же объект для всех фабрик, потому что модели имеют валидацию для него)?

Сработало, положив в initializers: if Rails.env.test? { create factories } но это не кажется хорошей идеей.

Какой самый лучший / самый чистый способ сделать это?

1 Ответ

0 голосов
/ 10 мая 2019

Добавьте блок before(:each) внутри блока RSpec.configure в вашем rails_helper.rb или spec_helper.rb:

RSpec.configure do |config|
  config.before :each do
    # create factories here
  end
end

Этот блок будет выполняться перед каждым примером.

...