watchrでautospecみたいなこと
watchrで更新のあったファイルに対してrspecを実行する方法。
secondlifeさんの記事を読んで、取り急ぎやってみた。
$ gem install watchr $ gem install ruby-fsevent # Mac OSXの場合 $ gem install rev # Linux/*BSDの場合 $ cd (RAILSアプリのルートディレクトリ) $ vi spec.watchr
watch('app/(.*)\.rb') { |md| system("ruby script/spec spec/#{md[1]}_spec.rb") } watch('spec/(.*)_spec\.rb') { |md| system("ruby script/spec #{md[0]}") }
$ watchr spec.watchr
autospecより汎用性があって便利かも。
追記
Rails3だとbundle exec rspecを使うのでこんな感じ?
watch('app/(.*)\.rb') { |md| system("bundle exec rspec spec/#{md[1]}_spec.rb") } watch('(lib/.*)\.rb') { |md| system("bundle exec rspec spec/#{md[1]}_spec.rb") } watch('(spec/.*)_spec\.rb') { |md| system("bundle exec rspec #{md[0]}") }