Ruby TDD 自動実行のセットアップ
ファイルの監視
自動実行させたい・・
今の装備
- vim
- iTerm2
ファイルの変更を監視して、自動実行環境をセットアップしてみる。
gemを選ぶ
- guard
- watchr
1年前くらいの情報だと、だいたいどっちかで良いみたい。 watchrの方がシンプルらしいので、こっち!と思ったら・・意外と開発が停滞気味らしく、問題に打ち当たった。。
TDDを学ぶサイト
コレ!良い感じ。
本家から問題をダウンロードしてくる
watchrでやってみる(上手くいかなかった)
$ gem install watchr $ watchr koans.watchr ... `handler': uninitialized constant Module::Config (NameError)
うわ。。なんかエラーでた;;
ググった記事では、watchrの開発がしばらく止まってて、forkした別のプロジェクトで、この問題解決済みらしい。
↓フォーク先
・・とりあえずこっちはやめて、guardでやってみることに。
guardでやってみる
watchrと違ってダウンロードしたzipに、guardのセットアップファイルは含まれていない。
以下を参考にセットアップ!
gemの追加
$ gem install guard $ gem install guard-shell
セットアップファイルの作成
$ guard init shell $ vim Guardfile
設定の編集
guard 'shell' do watch(/^.*\.rb$/) { `rake` } end
実行!
$ guard --notify false
この状態でファイル*.rbファイルを編集すると、自動でテストが走ってくれる。
AboutAsserts#test_assert_truth has damaged your karma. The Master says: You have not yet reached enlightenment. The answers you seek... Failed assertion. Please meditate on the following code: /.../about_asserts.rb:10:in `test_assert_truth' mountains are merely mountains your path thus far [X_________________________________________________] 0/282
おお〜♪