アラフォーからのプログラミングとデザイン

大人から始めたプログラミングとデザインについてのあれこれ

Railsチュートリアル復習中:Guardの自動化

f:id:simpledancer:20171211165209p:plain

引き続きチュートリアルです。

この辺り、全く記憶にないのできっと飛ばしてしまっていたんだと思います。

 rails testコマンドを使うとき、テストをしようとする度にエディタからコマンドラインに移動して、手動でコマンドを打ち込み、実行しなければならないという点が面倒ではありませんでしたか。この不便さを取り除くために、Guardを使ってテストを自動的に実行させるようにしてみましょう。Guardは、ファイルシステムの変更を監視し、例えばstatic_pages_test.rbファイルなどを変更すると自動的にテストを実行してくれるツールです。具体的には、「home.html.erbファイルが変更されたらstatic_pages_controller_test.rbを自動的に実行する」といったことをGuardで設定することができます。

simpledancer.hatenablog.com

 Guardの設定

guardのgemをすでにインストールされているのでそれを初期化する

$ bundle exec guard init 

そしてguardfileを編集します。

 

長くなるのでチュートリアルの3.45を参照

railstutorial.jp

 Guard使用時のSpringとGitの競合を防ぐには、.gitignoreファイルにspring/ディレクトリを追加

# Ignore Spring files.

/spring/*.pid 

Springのプロセスが起動したまま多数残留すると、テストのパフォーマンスが低下してしまうことがあります。テストの実行が異常に遅くなってきたと感じたら、プロセスをチェックし、必要に応じてSpringをkillするとよいでしょう 

 springについては前も書いたのでちょっと省略

simpledancer.hatenablog.com

新しいターミナルに

bundle exec guard

コマンドを実行。

Guardを終了する際もctrl+dで終了できます。

これでセットアップ終了。お疲れ様でした。