テストコード(spec)の修正なしで、テストをn倍速くする

(まったく試してないけど)QSpecを紹介します。

テストが遅いので parallel_tests で高速化しようとしたが、効率わるすぎて腹がたってきたのでより効率的な Qspec をつくった。

いくつかの rails プロジェクトでベンチマークしたところ、2倍以上の高速化効果が得られた。

parallel_tests (https://github.com/grosser/parallel_tests) は複数のプロセスで分割して RSpec を実行するためのソフトウェア。RSpec の実行速度が 3 倍になったという記事もある: 「Ruby / Rails のテストが約3倍速になって超快適に!!」(http://subtech.g.hatena.ne.jp/secondlife/20100819/1282226971)
Qspec が parallel_tests よりも 2 倍速いってことは、どちらも導入していない時よりも 6 倍になるってこと!?
production への導入を念頭において、ひと通りソースコードを読んでみた。sporkの簡単なラッパーかと思ったけど、そんなことはなかった。しっかりと作りこんであって良さそう。あと、parallel_tests はいろいろ設定が必要そうだったので躊躇したんだけど、こっちの設定は簡単そうだ。もちろん、Redis の知識が必要だろうけど、アプリケーション側への変更が少ないのはうれしい。
もう少しコードを読んでみて安心できたら、productionコードへの導入を検討しよう。

しかし、RSpec遅いね〜。いや、RSpecが遅いというよりは、巨大なspecのほうが問題か...

-- 参考URL

--- PR広告
記事を読んでくださり、ありがとうございます。もしよろしければ、この記事の著者が提供している無料のサービス「かくってる?」をお試しください。