テストコード(spec)の修正なしで、テストをn倍速くする
(まったく試してないけど)QSpecを紹介します。
テストが遅いので parallel_tests で高速化しようとしたが、効率わるすぎて腹がたってきたのでより効率的な Qspec をつくった。
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
- parallel_tests の2倍以上高速にする Qspec: http://tomykaira.hatenablog.com/entry/2013/06/02/120348
- tomykaira/qspec · GitHub: https://github.com/tomykaira/qspec
- grosser/parallel_tests · GitHub: https://github.com/grosser/parallel_tests
- Ruby / Rails のテストが約3倍速になって超快適に!!: http://subtech.g.hatena.ne.jp/secondlife/20100819/1282226971
--- PR広告
記事を読んでくださり、ありがとうございます。もしよろしければ、この記事の著者が提供している無料のサービス「かくってる?」をお試しください。
- かくってる?: http://cocktailq.herokuapp.com/