簡體   English   中英

為什么在 rake 測試任務期間 Rails 以開發模式運行?

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

為什么以下 Rake 任務會在 Rails 的開發環境中運行?

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

app_tests:unit了由於缺少(測試組)依賴項而導致的require錯誤,結果證明這是因為app_tests:unit在使用bundle exec rake app_tests:unit運行時正在 Rails 的開發環境中運行。

如何強制此任務在 Rails 的測試環境中運行?

開發環境默認運行,需要顯式聲明測試環境RAILS_ENV=test rake app_tests:unit

您可以通過執行類似於此處rspec/core執行的操作來專門在您的任務中強制執行 env var

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM