並列テストレールアプリのJrubyフレンドリーな方法
-
03-10-2019 - |
質問
Jrubyを使用して動作するRuby on Railsアプリ(RSPEC、キュウリを使用)で大量のテストを並列化するシステムを探しています。キュウリは実際にはそれほど悪くはありませんが、完全なRSPECスイートは現在、20分近くかかります。
私が見つけることができるシステム(Hydra、並列テスト)は、Forkingを使用しているように見えますが、これはJruby環境にとって理想的なソリューションではありません。
解決
現在、この種のアプリケーションに対して良い答えはありません。つい最近、私はフォークに取り組みました スポーク これにより、プロセスの実行を続け、その中に仕様または機能を再実行することができます。を見てください Jrubyhub 私がスポークの使用方法の例のためのアプリケーション。
君 そうかもしれない アプリケーション用のスポークインスタンスをスポークインスタンスに出してから、複数のスレッドリクエストを送信して、さまざまな仕様を実行します。しかし、その後、あなたはRSPECの内部にスレッドセーフに依存していますが、残念ながら、そうではないと確信しています。
たぶん、私のコードを出発点として取得し、スポークインスタンスのクラスターを構築してから、テストスイートをそれらに配布できるクライアントを持つことができます。メモリを保存することはなく、起動するのに長い時間がかかりますが、一度開始して繰り返し実行するためにそれらを再利用するだけで、効率が得られるかもしれません。
より多くのアイデアについては、user@jruby.codehaus.orgまたは#jruby on FreeNodeでお気軽に立ち寄ってください。
所属していません StackOverflow