2014-02-20 49 views
1

繼012xx 的示例後,Rakefile中的task spec: :factory_specs行告訴rake在「spec」任務之前執行「factory_specs」任務。防止Rake任務依賴從加載Rails兩次

我的問題是,rake spec加載Rails環境兩次,一個執行factory_specs任務,然後另一個執行spec任務。

如何防止我的rake命令加載兩次Rails?

我的堆棧:

  • 紅寶石1.9.3p484
  • 的Rails 3.2.13
+0

耙子已經優化了這個。 (即如果您調用兩個任務請求並且兩者具有相同的依賴關係,則只調用一次)。事實上,在一個調用鏈中,相同的任務將永遠不會執行多次 – Selva

+0

不適用於我的堆棧和場景。在任務運行之前,每次加載Rails需要大約30秒的時間,而任務本身只需要2秒就可以運行。 – konyak

回答

0

隨着FactoryGirl的最新版本,您可以使用FactoryGirl.lint,而不是在一個單獨明確地測試你的工廠耙任務。只要更新到最新版本,並添加到您的spec_helper.rb

RSpec.configure do |config| 
    config.before(:suite) do 
    FactoryGirl.lint 
    end 
end 

更多信息是在Getting Started Guide

+0

至今爲止最好的回答,謝謝! FactoryGirl剛剛在14天前添加了此功能......恰逢其時。 – konyak