Хотите загрузить начальные данные перед запуском огурца - PullRequest
2 голосов
/ 14 марта 2011

Я хочу, чтобы cucumber загрузил мои начальные данные в "db / seed.rb" перед началом тестирования. Не перед каждым сценарием или функцией, а только один раз перед запуском тестов. А также после каждого сценария семена должны оставаться в дБ.

Это возможно?

Я попытался создать файл "features / support / seed_data.rb" и потребовал, чтобы там был мой db / seed.rb, но, похоже, файл вообще не загружается. Я пытался потребовать мои семена в env.rb - без последствий.

Пожалуйста, кто-нибудь может предложить мне решение?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 05 ноября 2013

Создайте перед хуком в файле support / hooks.rb, который выглядит следующим образом:

Before('@load-seed-data') do
  load File.join(Rails.root, 'db', 'seeds.rb')
end

В вашем тесте перед сценарием вызовите ловушку так:

@load-seed-data @US49
Scenario: This is a scenario that needs seed data.
Given...
0 голосов
/ 14 марта 2011

Как насчет того, чтобы извлечь код из файла seed.rb и вставить его в hooks.rb в блоке AfterConfiguration?

AfterConfiguration do |config|
  # Your code from seeds.rb
end

Это следует называть один раз во время цикла, сразу после настройки огурца. По крайней мере, делая это таким образом, вы можете определить, есть ли у вас проблемы с включением вашего файла seed или нет. Другая идея заключается в том, чтобы взять seed.rb и вставить его непосредственно в каталог поддержки как модуль, а затем вызвать его из AfterConfiguration:

# db_seeds.rb
module DbSeeds 

  def seed_db
    # Your Code
  end

end

World(DbSeeds)

#hooks.rb
AfterConfiguration do |config|
  seed_db
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...