diff options
author | eileencodes <eileencodes@gmail.com> | 2016-11-07 15:46:56 -0500 |
---|---|---|
committer | eileencodes <eileencodes@gmail.com> | 2017-02-20 15:07:33 -0500 |
commit | 1db7a5c285eeb61acc998c0c27788a61bd948d5c (patch) | |
tree | c41e81e4c078bbe596f37ecdfc028fabd462e803 /railties/lib/rails/test_unit | |
parent | 5bf0aa6745db27c45c0778f9f6e9046f9ee9fb94 (diff) | |
download | rails-1db7a5c285eeb61acc998c0c27788a61bd948d5c.tar.gz rails-1db7a5c285eeb61acc998c0c27788a61bd948d5c.tar.bz2 rails-1db7a5c285eeb61acc998c0c27788a61bd948d5c.zip |
Don't load ActionSystemTest in production
By moving to the TestUnit Railtie, and doing the file requirement
inside the onload call we can avoid loading ActionSystemTest in
production and load it in the test env.
This is important for performance reasons - loading up unnecessary files
and object is expensive, especially when they should never be used in
production.
Diffstat (limited to 'railties/lib/rails/test_unit')
-rw-r--r-- | railties/lib/rails/test_unit/railtie.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/railties/lib/rails/test_unit/railtie.rb b/railties/lib/rails/test_unit/railtie.rb index d3f52e8008..694c8d92b1 100644 --- a/railties/lib/rails/test_unit/railtie.rb +++ b/railties/lib/rails/test_unit/railtie.rb @@ -20,6 +20,18 @@ module Rails } end + config.system_testing = ActiveSupport::OrderedOptions.new + + initializer "system_testing.set_configs" do |app| + ActiveSupport.on_load(:active_support_test_case) do + require "action_system_test" + + options = app.config.system_testing + options.driver ||= ActionSystemTest.default_driver + options.each { |k, v| ActionSystemTest.send("#{k}=", v) } + end + end + rake_tasks do load "rails/test_unit/testing.rake" end |