为什么 Rails 运行 在 rake 测试任务期间处于开发模式?

Why is Rails running in development mode during rake test task?

为什么在 Rails 的开发环境中 运行 有以下 Rake 任务?

namespace :app_tests do
  desc "Run unit tests."
  task unit: [:environment] do
    RAILS_ENV = "test"
    Rails.env = "test"
    system "rake test RAILS_ENV=test"
  end
end

我 运行 陷入 require 由于缺少(测试组)依赖项而导致的错误,事实证明那是因为 app_tests:unit 在 Rails 中 运行 =]' 开发环境 when 运行 using bundle exec rake app_tests:unit.

如何在 Rails 的测试环境中 强制 此任务到 运行?

开发环境默认为运行,需要明确声明测试环境 RAILS_ENV=test rake app_tests:unit

您可以通过像他们对 rspec/core here

所做的那样,专门在您的任务中强制执行 env var