繼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
繼012xx 的示例後,Rakefile中的task spec: :factory_specs
行告訴rake在「spec」任務之前執行「factory_specs」任務。防止Rake任務依賴從加載Rails兩次
我的問題是,rake spec
加載Rails環境兩次,一個執行factory_specs任務,然後另一個執行spec任務。
如何防止我的rake命令加載兩次Rails?
我的堆棧:
隨着FactoryGirl的最新版本,您可以使用FactoryGirl.lint
,而不是在一個單獨明確地測試你的工廠耙任務。只要更新到最新版本,並添加到您的spec_helper.rb
:
RSpec.configure do |config|
config.before(:suite) do
FactoryGirl.lint
end
end
更多信息是在Getting Started Guide。
至今爲止最好的回答,謝謝! FactoryGirl剛剛在14天前添加了此功能......恰逢其時。 – konyak
耙子已經優化了這個。 (即如果您調用兩個任務請求並且兩者具有相同的依賴關係,則只調用一次)。事實上,在一個調用鏈中,相同的任務將永遠不會執行多次 – Selva
不適用於我的堆棧和場景。在任務運行之前,每次加載Rails需要大約30秒的時間,而任務本身只需要2秒就可以運行。 – konyak