黄瓜防止清除数据库

时间:2010-08-23 09:06:26

标签: ruby-on-rails ruby cucumber

由于项目增长繁重,我遇到了黄瓜数据库重建过程需要很长时间的麻烦。

由于它是一个应用程序,其中表的实际内容无关紧要,我想跳过重建过程。

不幸的是黄瓜也没有database_cleaner似乎支持这个,不是吗?

我的黄瓜环境设置可以在下面找到

谢谢和许多问候,

ENV["RAILS_ENV"] ||= "cucumber"
require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')

require 'cucumber/formatter/unicode' # Remove this line if you don't want Cucumber Unicode support
require 'cucumber/rails/world'
require 'cucumber/rails/active_record'
require 'cucumber/web/tableish'

require 'capybara/rails'
require 'capybara/cucumber'
require 'capybara/session'
require 'cucumber/rails/capybara_javascript_emulation'

Capybara.default_selector = :css

ActionController::Base.allow_rescue = false

Cucumber::Rails::World.use_transactional_fixtures = false

Capybara.default_driver = :selenium

if defined?(ActiveRecord::Base)
  begin
    require 'database_cleaner'
    DatabaseCleaner.strategy = :truncation
  rescue LoadError => ignore_if_database_cleaner_not_present
  end
end

1 个答案:

答案 0 :(得分:0)

阻止database_cleaner清除其中一个表的简单方法是将其配置为:

DatabaseCleaner.strategy = :truncation, {:except => %w[states]}

在此示例中,一旦表states加载了信息,它就不会清除它。