【问题标题】:How can I remove rspec from existing Rails 4 project and revert to minitest default?如何从现有 Rails 4 项目中删除 rspec 并恢复为 minitest 默认值?
【发布时间】:2016-06-28 19:26:25
【问题描述】:

我正在向现有的 Rails 4 项目添加一些 API 测试,该项目的 Gemfile 中有 rspec。

由于现有项目没有任何测试,并且我在 minitest 中有想要使用的测试,我想知道如何从该项目中删除 rspec 并恢复到 Rails 4 minitest 设置。

我已经从 Gemfile 中删除了 rspec gem 并进行了捆绑。我尝试手动创建 Test 文件夹和子文件夹,然后运行测试。当我运行“rake”时,我得到:

Don't know how to build task 'default'

我怀疑我可以将 test-unit 和 minitest gem 添加到 Gemfile 中,但我希望有一种方法可以简单地告诉 Rails '使用如果我以前没有 rspec 时你会使用的东西。'

【问题讨论】:

    标签: ruby-on-rails-4 rspec minitest


    【解决方案1】:

    该项目可能最初是使用--skip-test-unit 标志生成的。这会导致未加载测试单元代码,这可以解释为什么 rake 不调用它。

    检查config/application.rb。如果它看起来像这样:

    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"
    

    然后取消注释rails/test_unit/railtie 行以确保加载了测试单元。

    或者,您可以将整个部分替换为:

    require "rails/all"
    

    【讨论】:

    • 就是这样!谢谢。 require "rails/test_unit/railtie" 没有被评论,但丢失了。一旦我添加它,我就能够按预期生成测试。我看过require "rails/all",但不知道在哪里使用它。
    猜你喜欢
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多