2009-04-23 41 views
2

我有一個可怕的Rails測試啓動時間。運行一個可能需要2秒才能運行的功能測試時,從執行到返回命令行的總時間可能高達10-15秒。Gems減緩Rails測試啓動,我可以選擇性地禁用這些嗎?

有兩種寶石我知道的方式肯定讓。 Facebook和Flickr寶石(Facebooker,Flickraw)。

Facebooker將始終打印在任何測試運行的以下信息:

/vendor/gems/facebooker-0.9.5/lib/facebooker.rb:23: warning: already initialized constant VERSION 

而且Flickraw似乎進行網絡連接每一次檢索的是什麼,我相信列表是API調用它可以使。

我可以選擇性地在測試時把這些寶石了嗎?我真的想讓我的測試運行儘可能接近實際測試需要運行的時間。另外,我已經嘗試了rails_test_server gem,並且遇到了一些困難,因爲這是一個非常大的項目,並且該項目中的某些衝突已經解決了我尚未解決的某些衝突。但我相信這個Facebook和Flickr寶石問題應該有一個解決方案。

回答

1

你如何使用這些寶石?你在config/environment.rb有什麼需求?如果是這樣,您可以將這些要求添加到開發和生產環境文件中,但不要添加到測試環境文件中。

+0

是的,在我的environment.rb。我會繼續前進,將它們移到我的env特定配置中,看看我能否獲得更好的結果。 – mwilliams 2009-04-23 15:38:40

0

如果你能夠在不加載所有的寶石運行應用程序,這可能是一個很好的跡象,無論是你沒有真正使用寶石擺在首位,或者你的測試是不夠的。

但是,是的,這樣做的正確方法是將寶石裝載進入開發和生產環境特定的文件。

相關問題