まりぴよこのブログ

日々の日記。技術ネタでまとまりきってないものの記録、伝わる文章の書き方を練習とか。

Ruby TDD 自動実行のセットアップ

ファイルの監視

自動実行させたい・・

今の装備

ファイルの変更を監視して、自動実行環境をセットアップしてみる。

gemを選ぶ

  • guard
  • watchr

1年前くらいの情報だと、だいたいどっちかで良いみたい。 watchrの方がシンプルらしいので、こっち!と思ったら・・意外と開発が停滞気味らしく、問題に打ち当たった。。

TDDを学ぶサイト

qiita.com

コレ!良い感じ。

本家から問題をダウンロードしてくる

rubykoans.com

watchrでやってみる(上手くいかなかった)

$ gem install watchr
$ watchr koans.watchr
... `handler': uninitialized constant Module::Config (NameError)

うわ。。なんかエラーでた;;

ググった記事では、watchrの開発がしばらく止まってて、forkした別のプロジェクトで、この問題解決済みらしい。

↓フォーク先

kevinburke/observr · GitHub

・・とりあえずこっちはやめて、guardでやってみることに。

guardでやってみる

watchrと違ってダウンロードしたzipに、guardのセットアップファイルは含まれていない。

以下を参考にセットアップ!

Ruby Koans with guard shell

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

おお〜♪