3

私はWindows7で実行されているRubyonRailsの使い方を学び始めましたが、テストを実行するのに時間がかかるので、スピードアップできるかどうか疑問に思っています。現在、SQLiteデータベースとwebrick Webサーバーで、デフォルトのテストフレームワーク(ActionControllerから継承)を使用しています。

ユニットテストと機能テストでは2秒未満の実行時間が報告されていますが、コマンドラインからテストを実行してから完了するまでは実際には40秒です。

友人は私が警備員を使うことを勧めました。保存するとすぐにテストを開始するのに役立つようですが、実際のコストはWebサーバーまたはデータベースの起動にあるようです。apacheまたはmysqlを設定し、代わりにローカルで使用する方がよいのではないかと思います。

とにかく、WindowsでのRuby on Railsテストを高速化するためのヒントはありますか?Amazon EC2 linuxマイクロインスタンス(ここでもwebrickとsqliteを使用)でテストを実行しようとしましたが、かなりの起動時間がありました(ただし、時間を計りませんでした)。

「raketest--trace」を試してみました。かなりの一時停止がありました:

  • 出力の最初の行の直前
  • 「環境の実行」と「db:abort_if_pending_migrationsの実行」の出力の間
  • 「test:unitsの実行」と「オプションの実行:」の間

    最初の一時停止はもっと悪いようです。

4

1 に答える 1

1

あなたの最善の策は、現在 Windows で動作するsporkを使用することです。準備が整ったプロセスのプールを事前設定することにより、Windows 上で実行されます (「マガジン」戦略と呼ばれます)。その結果、Web サーバーの起動時間が大幅に短縮されます。

Windows で Rails を実行することが実際にボトルネックである場合は、 VirtualBoxを使用して仮想マシンを実行し、Ubuntu のインスタンスを実行して、VM で Rails プロジェクトに取り組むことができます。

于 2012-07-14T22:44:24.370 に答える