2011-09-30 3 views
9

Rakeタスクはテストの実行と同じ問題を抱えています.Railsの起動プロセスは、タスクが実行されるまでに長い時間がかかります。レーキタスクで仕事をスポークできますか?

スポークとレーキを一体化する方法はありますか?

+0

私はゼウスのために(httpsの下に、私自身の答えを追加しました:// githubの。 com/burke/zeus)。 DHH(https://github.com/rails/commands)で作業中のrails/command gemもあります。おかげさまで – matthuhiggins

答えて

4

今日はゼウスを発見しました。それは、これまで最高のものですので、私はゼウスに私の答えを変更しています:

https://github.com/burke/zeus

ゼウスは私の熊手:特別:タスク

+0

魅力的な... * tricorderを開きます* – thekingoftruth

+0

Windowsでは動作しませんので、私のためではありません。 –

1

私が知っているように、標準的なソリューションはありません。

Rakeには--drbオプションがなく、ここではsporkはサポートできません。 確かに、カスタムソリューションが可能です。これはレーキランナーの延長を必要とする。

私は、レーキタスクはテストと同じくらい頻繁には実行されないと考えています。その理由は、まだ質問に対処していないからです。

+0

私は基本的にスピン(https://github.com/jstorimer/spin)のようなものが必要です。ロードされたRailsプロセスとすべての宝石をフォークします。 – matthuhiggins

3
rake test:units 
testdrb -I test/ test/unit/ 

rake test:functionals 
testdrb -I test/ test/functional/ 

rake test:integration 
testdrb -I test/ test/integration/ 
+0

ああ、私はあなたを愛しています...これは私が必要とするコマンドです:D – lfzawacki

7

コンソールからレーキタスクを実行できるirake gemを使用できます。

はGemfileにこれを追加します。

gem 'irake' 

を次にバンドルし、起動コンソールを

$ bundle install 
$ rails console 

...と(一度だけ)をロードするためにRailsの環境を待ちます。次に、あなたが行うことができます。

rake "db:migrate" 

を使用すると、タスクの一覧を表示したい場合は、次のことができます。

Rake::Task.tasks.each{|t| puts t.name }; nil 
関連する問題