2ce3149d92
When running several individual tests in succession using Spring,
we get an error message:
> zeitwerk error: reloading is disabled because config.cache_classes is true
Caching classes during tests used to be recommended – but Rails 6
now recommands to reload them:
- Spring takes care of the caching for us,
- It makes zeitwerk happy.
See discussion in 65344f254c
A potential downside used to be that when running system tests using
Capybara, each web request would reload the classes, which invalidated
the model objects of the test case. But it seems to be fixed now.
61 lines
2.2 KiB
Ruby
61 lines
2.2 KiB
Ruby
Rails.application.configure do
|
|
# Settings specified here will take precedence over those in config/application.rb.
|
|
|
|
# The test environment is used exclusively to run your application's
|
|
# test suite. You never need to work with it otherwise. Remember that
|
|
# your test database is "scratch space" for the test suite and is wiped
|
|
# and recreated between test runs. Don't rely on the data there!
|
|
config.cache_classes = false
|
|
|
|
# Do not eager load code on boot. This avoids loading your whole application
|
|
# just for the purpose of running a single test. If you are using a tool that
|
|
# preloads Rails for running tests, you may have to set it to true.
|
|
config.eager_load = false
|
|
|
|
# Configure static file server for tests with Cache-Control for performance.
|
|
config.public_file_server.enabled = true
|
|
config.public_file_server.headers = { 'Cache-Control' => 'public, max-age=3600' }
|
|
|
|
# Show full error reports and disable caching.
|
|
config.consider_all_requests_local = true
|
|
config.action_controller.perform_caching = false
|
|
|
|
# Raise exceptions instead of rendering exception templates.
|
|
config.action_dispatch.show_exceptions = false
|
|
|
|
# Disable request forgery protection in test environment.
|
|
config.action_controller.allow_forgery_protection = false
|
|
|
|
# Tell Action Mailer not to deliver emails to the real world.
|
|
# The :test delivery method accumulates sent emails in the
|
|
# ActionMailer::Base.deliveries array.
|
|
config.action_mailer.delivery_method = :test
|
|
|
|
config.active_storage.service = :test
|
|
|
|
# Randomize the order test cases are executed.
|
|
config.active_support.test_order = :random
|
|
|
|
# Print deprecation notices to the stderr.
|
|
config.active_support.deprecation = :stderr
|
|
|
|
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
|
|
Rails.application.routes.default_url_options = {
|
|
host: 'localhost:3000',
|
|
protocol: :http
|
|
}
|
|
|
|
# Use Content-Security-Policy-Report-Only headers
|
|
config.content_security_policy_report_only = true
|
|
|
|
config.active_job.queue_adapter = :test
|
|
config.active_storage.service = :test
|
|
|
|
# Raises error for missing translations
|
|
# config.action_view.raise_on_missing_translations = true
|
|
|
|
config.ds_autosave = {
|
|
debounce_delay: 500,
|
|
status_visible_duration: 500
|
|
}
|
|
end
|