Удалить тест:: unit
Я забыл создать свое приложение с аргументом -T, и теперь он был установлен с тестом:: unit. Как удалить test:: unit и остановить его от создания тестов для каждого созданного контроллера/модели после того, как я уже создал приложение? Спасибо вам
Ответы
Ответ 1
В файле config/application.rb попробуйте
config.generators do |g|
g.test_framework :rspec #=> or whatever
end
В ответ на комментарий
Try
config.generators do |g|
g.test_framework nil
end
Не может быть "наиболее подходящим" или "Rails-ish", но он работает
Обновление
Сегодня я читал Руководство по инициализации Rails и понял, что наиболее вероятная причина, по которой Test:: Unit по-прежнему включена, - это строка:
require 'rails/all'
Что можно заменить на:
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
Это должно позаботиться об этом. Если вы используете Rails 3.1.x, вы также включите
require "sprockets/railtie"
если вы планируете использовать конвейер активов.
Обновление 2
Для Rails 3.2 вы должны использовать это:
config.app_generators do |c|
c.test_framework :rspec, :fixture => true,
:fixture_replacement => nil
c.integration_tool :rspec
c.performance_tool :rspec
end
Ответ 2
Чтобы удалить тест: Единица в Rails 4:
Замените следующую строку из config/application.rb:
require 'rails/all'
С
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "sprockets/railtie"
Вы также можете безопасно удалить тестовый каталог.
Ответ 3
Создайте новое приложение с rails new APP_NAME --skip-test-unit
в Rails 4 в:
require "rails"
# Pick the frameworks you want:
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"
Ответ 4
На Rails 5.1 и Rails 5.2
в config/application.rb
удалить или закомментировать
require 'rails/all'
а затем включить
require "rails"
# Pick the frameworks you want:
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 "action_cable/engine"
require "sprockets/railtie"
# require "rails/test_unit/railtie"
Также, если вы не хотите создавать тестовые файлы системы, добавьте следующее:
# Don't generate system test files.
config.generators.system_tests = nil
Как только это будет сделано, вы можете удалить test
каталог
Ответ 5
Самый чистый способ, как я упоминаю в аналогичном вопросе и ответе, должен сделать это...
Для Rails 3, чтобы удалить test_unit из вашего приложения, вам нужно удалить (или закомментировать) test_unit Railtie в config/application.rb
:
# require "rails/test_unit/railtie"
Если вам интересно, что делает эта строка кода, посмотрите railties/lib/rails/test_unit/railtie.rb source который теперь выглядит следующим образом:
module Rails
class TestUnitRailtie < Rails::Railtie
config.app_generators do |c|
c.test_framework :test_unit, :fixture => true,
:fixture_replacement => nil
c.integration_tool :test_unit
c.performance_tool :test_unit
end
rake_tasks do
load "rails/test_unit/testing.rake"
end
end
end
Ответ 6
На Rails 6
в config/application.rb
замени
require 'rails/all'
За:
require "rails"
# Pick the frameworks you want:
require "active_model/railtie"
require "active_job/railtie"
require "active_record/railtie"
require "active_storage/engine"
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_mailbox/engine"
require "action_text/engine"
require "action_view/railtie"
require "action_cable/engine"
require "sprockets/railtie"
# require "rails/test_unit/railtie"