13

ある自動テストランナーを別のランナーよりも使用する具体的な理由はありますか?Autofeature + autotestの両方を使用しましたが、これが設定する組み込みプロセスが本当に気に入っています。最初にrspecユニットテストを実行し、次にキュウリテストを実行し、最後に失敗したテストのみを実行します。これは標準に適しています。キュウリのテストを作成し、失敗するまでステップを設定してから、詳細な機能の単体テストにドロップダウンするワークフロー。

私は標準のrspec構成でガードを使用しましたが、それもうまく機能しましたが、キュウリのテストではフォールドしませんでした。さらに実験する時間がありませんでした。

誰かがお互いを使用する特定の理由があるのか​​、または一方の方法が他方の弱点を軽減するのかどうか疑問に思っています。

入力ありがとう、トニー

4

2 に答える 2

24

私は最近、理由により autotest から Guard に移動しました。これは autotest よりもうまく機能し、利用可能な Guard がたくさんあります。したがって、1 つのプロセスで多くのことを監視できます。

現在、私はRspecPassenger、およびYardに使用していますが、リストは非常に長く、他の目的で必要な場合はいつでもガードを実装できます。

サーバーの再起動が必要なもの(ルート、構成など)を変更するとすぐにサーバーをリロードするため、開発中のパッセンジャーにとって特に非常に便利です。

使用可能なガードの一部は、何らかの方法で置き換えることができます。たとえば、yard を使用すると独自のサーバーを起動できますが、2 つの異なるプロセスが必要になります。guard を使用すると、単一のプロセスですべての作業を実行できます。

つまり、Guard は、ファイルの変更によってトリガーされる何かを実行する必要があるすべてのプロセスの一般的なフレームワークであり、autotest はテストの実行に制限されています。

アップデート

あなたのコメントに応えて

Rspec > 2.8 を使用している場合--rand.rspecファイル内で使用することで仕様の順序をランダム化できます。このようにして、rspecの順序で実現され、rspecを実行可能または実行可能で呼び出すときにも機能します。rakerspec

より少ないファイルにはガードレスがあります。

さらに、guard の最新バージョンには Rails コンソールが組み込まれており、guard がアイドル状態のときにpryを利用できるため、開発モードでは非常に便利です。

于 2011-08-28T17:54:52.187 に答える
-1

ミニテスト、スポーク、ガードは連動しません。 LoadError: no such file to load -- -r

このため: https://github.com/semaperepelitsa/spork-minitest/issues/2

そこで、自動テストに切り替えました (README の Michael Grosser による軽量テスト スイートを参照してください)。fsevent は CPU 負荷を軽減しているように見えますが、fsevent を使用した古い Guard セットアップほど「反応的」ではありません。理由はわかりません。

更新:実際、私はその理由を確信しています。autotest で (マイナーな) 問題をオープンしました: https://github.com/grosser/autotest/issues/33

これは、スリープのデフォルトの 1 秒です。この問題には回避策がありますが、それはハックです。エレガントなソリューションを知りません。これにより、Guard と同じくらい速く動作し、Minitest と連携します。

Autotest+Minitest は tty ではないため、カラー化された出力ができないようです。これは Autotest iirc とは関係ありません。Guard の Guardfile セットアップが気に入っていますが、「ウォッチャー」が Autotest のどこにあるのかわかりません。これまでのところ、問題なく機能していますが、これは問題になる可能性があります。

于 2012-09-07T20:42:18.990 に答える