Ruby on Rails: Огурец: как сбросить дб после каждого сценария?

Таким образом, я нахожусь в своей тестовой среде

теперь, в terminial, db:test:prepare граблей очищает дб..., но не, когда я выполняю его из кода

И у меня есть это в features/support/env.rb:

Before do
    task :build_all do
      [ :debug, :release ].each do |t|
        $build_type = t
        Rake::Task["db:test:prepare"].reenable
        Rake::Task["db:test:prepare"].invoke
      end
    end
end

Но мои данные остаются в project_test дб, когда мои тесты сделаны, работая

Это находится в моем database.yml

test:
  adapter: mysql
  encoding: utf8
  database: projectname_test
  username: root
  password:

Я также попробовал

db:test:purge

и

db:test:reset

и я знаю, что это использует мой тестовый дб, потому что я проверяю mySQLWorkbench, и это вставляет данные в таблицы..., но не удаляет данные, когда его сделанный (я должен удалить его вручную). Когда таблицы пусты, передача тестовых сценариев

7
задан DerNalia 16 June 2010 в 00:42
поделиться

2 ответа

Сценарии в Cucumber, как и тесты в RSpec, выполняются в блоках транзакций и откатываются после завершения сценария. Любые данные в базе данных, которых не должно быть, вероятно, остались от чего-то еще. Попробуйте очистить свою базу данных.

1
ответ дан 7 December 2019 в 12:14
поделиться

Я знаю об этом, но пробовали ли вы удалить и воссоздать базу данных на лету?

0
ответ дан 7 December 2019 в 12:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: