【问题标题】:Convert Rails 6 generator to make Minitest test files after being an RSpec project在成为 RSpec 项目后转换 Rails 6 生成器以制作 Minitest 测试文件
【发布时间】:2019-10-14 11:31:25
【问题描述】:

总结

我正在将一个 Rails 项目从 RSPec 转换为 Minitest,并希望我的 Rails 项目生成器创建 minitest 测试文件。


详细说明

我有一个使用跳过的测试生成的 Rails 项目:

 rails new example --skip-test-unit

然后我添加了 RSpec(遵循标准 rails generate rspec:install)。然后我想我想试试 minitest。

我做了一个项目分身并将测试目录复制到我的rails项目中:

 rails new example  # so we have test unit now

虽然我可以运行 minitest 测试,但生成器不会为我生成文件。

rails g model Contact --skip-migration

Running via Spring preloader in process 13814
      invoke  active_record
      create    app/models/contact.rb
      # no test files!

我试过了:

  • 通读 stackoverflow - 每个人都在将其转换为 RSpec
  • 停止并启动 Spring
  • 注释掉application.rb中的一行config.generators.system_tests = nil

如何解决此问题以生成 minitest 文件?

【问题讨论】:

    标签: ruby-on-rails rspec minitest


    【解决方案1】:

    我将一个新应用程序与我当前的应用程序进行了比较,而 application.rb 的要求非常不同。

    应用不生成测试文件

    # rails/config/application.rb
    
    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" <= generator left test_unit commented out
    

    应用生成测试文件

    # rails/config/application.rb
    
    require "rails/all"
    

    我在我的非生成应用程序(如生成应用程序)中做了 require 语句。运行 spring stop 并运行 rails generator 现在可以正常工作了。

    rails g model Contact --skip-migration
    
    Running via Spring preloader in process 16286
          invoke  active_record
          create    app/models/contact.rb
          invoke    test_unit
          create      test/models/contact_test.rb
          invoke      factory_bot
          create        test/factories/contacts.rb
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多