【问题标题】:How to remove Minitest from existing Rails 6 app?如何从现有的 Rails 6 应用程序中删除 Minitest?
【发布时间】:2021-03-18 16:20:04
【问题描述】:

我想达到与this question 完全相反的效果。我已经包含了 rspec,它运行良好,但是在运行 rake 时,我得到:

WARN: Unresolved or ambiguous specs during Gem::Specification.reset:                                                                                                                                                              
      minitest (~> 5.1)                                                                                                                                                                                                           
      Available/installed versions of this gem:                                                                                                                                                                                   
      - 5.14.4                                                                                                                                                                                                                    
      - 5.13.0                                                                                                                                                                                                                    
WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'                                                                                                                                                                      
Please report a bug if this causes problems. 

我知道删除其中一个最简单的版本会停止警告,但我根本不关心警告。我的关键点是删除一些我在项目中没有使用的套件。有什么办法吗?

【问题讨论】:

    标签: ruby-on-rails rspec minitest


    【解决方案1】:

    我要做的是创建一个带有单元测试的 Rails 测试安装和一个没有:

    rails new tester
    

    rails new tester --skip-test
    

    您必须在单独的文件夹中执行此操作,以免它们发生冲突。

    然后您可以在两个文件夹之间进行比较,以找到您需要在安装中更改的内容。

    Visual Studio 代码有一个名为“比较文件夹”的插件,它应该可以解决问题。

    --- 完成上述操作后---

    看起来您唯一需要做的事情是:

    • 删除 Gemfile 中的测试部分

    • 运行bundle

    然后修改config/application.rb文件如下:

    来自

        require_relative "boot"
    
        require "rails/all"
    
        # Require the gems listed in Gemfile, including any gems
        # you've limited to :test, :development, or :production.
        Bundler.require(*Rails.groups)
    
        module Tester
          class Application < Rails::Application
            # Initialize configuration defaults for originally generated Rails version.
            config.load_defaults 6.1
    
            # Configuration for the application, engines, and railties goes here.
            #
            # These settings can be overridden in specific environments using the files
            # in config/environments, which are processed later.
            #
            # config.time_zone = "Central Time (US & Canada)"
            # config.eager_load_paths << Rails.root.join("extras")
          end
        end
    

        require_relative "boot"
    
        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"
    
        # Require the gems listed in Gemfile, including any gems
        # you've limited to :test, :development, or :production.
        Bundler.require(*Rails.groups)
    
        module Tester
          class Application < Rails::Application
            # Initialize configuration defaults for originally generated Rails version.
            config.load_defaults 6.1
    
            # Configuration for the application, engines, and railties goes here.
            #
            # These settings can be overridden in specific environments using the files
            # in config/environments, which are processed later.
            #
            # config.time_zone = "Central Time (US & Canada)"
            # config.eager_load_paths << Rails.root.join("extras")
    
            # Don't generate system test files.
            config.generators.system_tests = nil
          end
        end
    

    这是使用 Rails 6.1.3。

    【讨论】:

      猜你喜欢
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 2014-01-07
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多