2017-09-15 3 views
0

$ REASONSについては、rake test以上の紙にRakeタスクを作成しました。しかし、ラッパー・タスクを使用すると、config/environments/test.rbは決して必要とされず、結果として、望ましくないことが起こります(電子メールが送信され、データベースが破棄されます)。`rake test`をカスタムRakeタスクで実行すると、environments/test.rbが必要ないのはなぜですか?

(FWIW、Rails.envENV['RAILS_ENV']はまだ縮退ケースにtestに設定されている。)

namespace :organization do  
    desc "Run unit tests." 
    task :unit do 
    puts Rails.env # test 
    Rake::Task["test"].invoke 
    end 
end 

答えて

0

あなたはそれを動作させるためにすくいタスクに:environmentを渡す必要があります。

namespace :organization do  
    desc "Run unit tests." 
    task unit: [:environment] do 
    puts Rails.env # test 
    Rake::Task["test"].invoke 
    end 
end 
+0

回答ありがとうございますが、これで問題は解決しません。 (私は実際にこれを試してみました。これは、 'RAILS_ENV'と' Rails.env'を 'test'に設定するタスクの依存関係を作成/追加するといった他の解決策の中でもあります)。 – pdoherty926

関連する問題