2017-06-07 58 views
2

我試圖加快測試,到目前爲止做了像刪除不必要的數據庫寫入(使用新的而不是創建和不使用factorygirl,更少的功能測試,結合測試),當我單獨運行文件時,我得到了減少及時。但是,當我運行整個測試套件時,我最終得到的時間大致相同,有時候我甚至會在我的改進測試中得到較慢的運行時間。準確測量rspec /水豚測試時間?

任何方法來準確測量?

+0

這可能有助於[show-runtime-for-each-rspec-example](https://stackoverflow.com/questions/4856500/show-runtime-for - 每個-rspec的-示例) –

回答

4

換掉新的,而不是與FactoryGirl創建是把嬰兒扔出去的洗澡水。如果你不需要持久化對象,你可以使用FactoryGirl的構建或build_stubbed,並且在保持參數默認值的同時,你將獲得性能上的節省。除此之外,你所做的所有性能調整真的被實際需要的時間所淹沒在瀏覽器中做事情,以及資產編譯(特別是在少量的測試中),所以你真的不會節省那麼多。如果性能是你最關心的事情,那麼最好的辦法就是儘可能在單元測試中進行測試,然後將大部分功能測試通過你的應用程序限制在快樂的道路上。

如果您仍想查找最慢的測試以確保您沒有在等待「不存在元素」而不是「元素不存在」並優化它們,您可以指定--profile命令行選項rspec或在RSpec配置中指定'profile_examples'https://relishapp.com/rspec/rspec-core/docs/configuration/profile-examples