mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
84eac5dab8
We used to support the `BACKTRACE` environment variable but when
we switched to MiniTest it got removed: f9382cd794
This commit adds back the functionality to show the unfiltered backtrace when needed.
This also works when you run your tests with `rake`:
* `BACKTRACE=1 bin/rake test`
* `BACKTRACE=1 ruby -Itest ...`
40 lines
1.1 KiB
Ruby
40 lines
1.1 KiB
Ruby
# Make double-sure the RAILS_ENV is not set to production,
|
|
# so fixtures aren't loaded into that environment
|
|
abort("Abort testing: Your Rails environment is running in production mode!") if Rails.env.production?
|
|
|
|
require 'active_support/testing/autorun'
|
|
require 'active_support/test_case'
|
|
require 'action_controller/test_case'
|
|
require 'action_dispatch/testing/integration'
|
|
require 'rails/generators/test_case'
|
|
|
|
# Config Rails backtrace in tests.
|
|
require 'rails/backtrace_cleaner'
|
|
if ENV["BACKTRACE"].nil?
|
|
MiniTest.backtrace_filter = Rails.backtrace_cleaner
|
|
end
|
|
|
|
if defined?(ActiveRecord::Base)
|
|
class ActiveSupport::TestCase
|
|
include ActiveRecord::TestFixtures
|
|
self.fixture_path = "#{Rails.root}/test/fixtures/"
|
|
end
|
|
|
|
ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
|
|
|
|
def create_fixtures(*fixture_set_names, &block)
|
|
FixtureSet.create_fixtures(ActiveSupport::TestCase.fixture_path, fixture_set_names, {}, &block)
|
|
end
|
|
end
|
|
|
|
class ActionController::TestCase
|
|
setup do
|
|
@routes = Rails.application.routes
|
|
end
|
|
end
|
|
|
|
class ActionDispatch::IntegrationTest
|
|
setup do
|
|
@routes = Rails.application.routes
|
|
end
|
|
end
|