Skip to content

Instantly share code, notes, and snippets.

@ashmoran
Created July 7, 2010 13:52
Show Gist options
  • Save ashmoran/466719 to your computer and use it in GitHub Desktop.
Save ashmoran/466719 to your computer and use it in GitHub Desktop.
# The database needs cleaning before we configure it
# NOTE As of writing, 'database_cleaner/cucumber' cleans AFTER
# each scenario, which causes problems if you have to abort
# a Cucumber run.
Before do
DatabaseCleaner.clean
end
# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
# It is recommended to regenerate this file in the future when you upgrade to a
# newer version of cucumber-rails. Consider adding your own code to a new file
# instead of editing this one. Cucumber will automatically load all features/**/*.rb
# files.
ENV["RAILS_ENV"] ||= "test"
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/rspec'
require 'cucumber/rails/world'
require 'cucumber/web/tableish'
require 'webrat'
require 'webrat/core/matchers'
Webrat.configure do |config|
config.mode = :rails
config.open_error_files = false # Set to true if you want error pages to pop up in the browser
end
# If you set this to false, any error raised from within your app will bubble
# up to your step definition and out to cucumber unless you catch it somewhere
# on the way. You can make Rails rescue errors and render error pages on a
# per-scenario basis by tagging a scenario or feature with the @allow-rescue tag.
#
# If you set this to true, Rails will rescue all errors and render error
# pages, more or less in the same way your application would behave in the
# default production environment. It's not recommended to do this for all
# of your scenarios, as this makes it hard to discover errors in your application.
ActionController::Base.allow_rescue = false
Cucumber::Rails::World.use_transactional_fixtures = false
# How to clean your database when transactions are turned off. See
# http://github.com/bmabey/database_cleaner for more info.
if defined?(ActiveRecord::Base)
begin
require 'database_cleaner'
DatabaseCleaner.strategy = :truncation
rescue LoadError => ignore_if_database_cleaner_not_present
end
end
# ====================================
require 'database_cleaner'
DatabaseCleaner.strategy = :truncation, {
:except => TABLES_PRESERVED_BETWEEN_TESTS
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment