【问题标题】:Change Rails/Rake Test Default Behavior更改 Rails/Rake 测试默认行为
【发布时间】:2017-08-29 17:19:43
【问题描述】:

根据Rails guide for testing

“默认情况下,运行 bin/rails test 不会运行您的系统测试。请确保运行 bin/rails test:system 来实际运行它们。”

有谁知道如何更改默认行为以运行您的所有测试,包括系统测试?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    我也在尝试这样做。

    我认为要让rails test 也运行系统测试,您需要重新定义 rake 任务。我可以调查的任务是在 railties gem /lib 目录内的 testing.rake 文件中定义的:

    desc "Runs all tests in test folder except system ones"
      task :test do
      $: << "test"
      if ENV.key?("TEST")
        Minitest.rake_run([ENV["TEST"]])
      else
        Minitest.rake_run(["test"], ["test/system/**/*"])
      end
    end
    

    else 内函数中的第二个参数是运行测试时要排除的模式。

    这里Overriding rails' default rake tasks 解释了如何覆盖它们,但是我不能让它以这种方式工作。

    如果它对您有帮助,我将改用 bundle exec rake test:system test,它同时运行系统和所有其他测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-17
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 2012-11-25
      • 2020-04-24
      相关资源
      最近更新 更多