diff options
author | Yuji Yaginuma <yuuji.yaginuma@gmail.com> | 2019-02-06 17:08:18 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-06 17:08:18 +0900 |
commit | daa264fb5afc353cb044787993b9d9b98f774b26 (patch) | |
tree | a00ecd1a739adee7bf0440cdf28d93608eff311e /railties/test | |
parent | f16a397a3bbff55e83a5f9e8b17f90b542533e4e (diff) | |
parent | ebf5e3189962ec88c8f8a62b7aca199471e98f8a (diff) | |
download | rails-daa264fb5afc353cb044787993b9d9b98f774b26.tar.gz rails-daa264fb5afc353cb044787993b9d9b98f774b26.tar.bz2 rails-daa264fb5afc353cb044787993b9d9b98f774b26.zip |
Merge pull request #34971 from y-yagi/improve_railties_test
Improve execution time of railties' test
Diffstat (limited to 'railties/test')
-rw-r--r-- | railties/test/isolation/abstract_unit.rb | 2 | ||||
-rw-r--r-- | railties/test/railties/engine_test.rb | 26 |
2 files changed, 24 insertions, 4 deletions
diff --git a/railties/test/isolation/abstract_unit.rb b/railties/test/isolation/abstract_unit.rb index e9cf60a13d..ca7601f6fe 100644 --- a/railties/test/isolation/abstract_unit.rb +++ b/railties/test/isolation/abstract_unit.rb @@ -504,6 +504,8 @@ Module.new do require "action_view" require "active_storage" require "action_cable" + require "action_mailbox" + require "action_text" require "sprockets" require "action_view/helpers" diff --git a/railties/test/railties/engine_test.rb b/railties/test/railties/engine_test.rb index 508367212b..851407dede 100644 --- a/railties/test/railties/engine_test.rb +++ b/railties/test/railties/engine_test.rb @@ -87,11 +87,10 @@ module RailtiesTest end RUBY + restrict_frameworks boot_rails Dir.chdir(app_path) do - # Install Active Storage, Action Mailbox, and Action Text migration files first so as not to affect test. - `bundle exec rake active_storage:install action_mailbox:install action_text:install` output = `bundle exec rake bukkits:install:migrations` ["CreateUsers", "AddLastNameToUsers", "CreateSessions"].each do |migration_name| @@ -174,11 +173,10 @@ module RailtiesTest class CreateKeys < ActiveRecord::Migration::Current; end RUBY + restrict_frameworks boot_rails Dir.chdir(app_path) do - # Install Active Storage, Action Mailbox, and Action Text migrations first so as not to affect test. - `bundle exec rake active_storage:install action_mailbox:install action_text:install` output = `bundle exec rake railties:install:migrations`.split("\n") assert_match(/Copied migration \d+_create_users\.core_engine\.rb from core_engine/, output.first) @@ -1509,5 +1507,25 @@ YAML def app Rails.application end + + # Restrict frameworks to load in order to avoid engine frameworks affect tests. + def restrict_frameworks + remove_from_config("require 'rails/all'") + remove_from_config("require_relative 'boot'") + remove_from_env_config("development", "config.active_storage.*") + frameworks = <<~RUBY + require "rails" + require "active_model/railtie" + require "active_job/railtie" + require "active_record/railtie" + require "action_controller/railtie" + require "action_mailer/railtie" + require "action_view/railtie" + require "sprockets/railtie" + require "rails/test_unit/railtie" + RUBY + environment = File.read("#{app_path}/config/application.rb") + File.open("#{app_path}/config/application.rb", "w") { |f| f.puts frameworks + "\n" + environment } + end end end |