rspec

RSpec2で特定のテストを実行する

Relishより、次のようにすることで特定のdescribe/context/itのみを実行することができる。 spec_helper.rbのRSpec.configureにfilter_runの設定を追加: RSpec.configure do |c| c.filter_run :focus => true end テストしたいdescribe/context/itに:focus…

RSpec 1.3でカスタムマッチャ

ある処理で行われるファイルの移動が適切かどうかテストしたかったので、カスタムマッチャを作ってみた。使用したのはRSpec 1.3.1。 目標のspec lambda { foo }.should move_file(src, dest) チェックする項目 fooメソッドを実行する前にsrcにファイルが存在…

watchrでautospecみたいなこと

watchrで更新のあったファイルに対してrspecを実行する方法。 secondlifeさんの記事を読んで、取り急ぎやってみた。 $ gem install watchr $ gem install ruby-fsevent # Mac OSXの場合 $ gem install rev # Linux/*BSDの場合 $ cd (RAILSアプリのルートデ…

Rails勉強会@東京第58回に行ってきた

昨年12/18に行われたRails勉強会@東京第58回に行ってきた。 テストの話 「テストの話」で大まかに扱われるけど、細かく見ると次の3つの話題が出てくる。 どうやってテストを書くか うまいテストの仕方・資産としての残し方 テストの文化の浸透のさせ方・継続…

Rails3でRSPec2とmachinist2

Rails3でRSpec2とmachinist2を使うための下準備。 $ alias r=rails $ r new testapp -T -d mysql $ cd testapp $ vi config/application.rb # Test::Unitにさよなら $ vi Gemfile # RSpec2とmachinist2を追加 $ bundle install $ r g rspec:install $ r g ma…

Rails3でTest::Unitを無効化

Rails3でTest::Unitを使わないようにする方法。rspecの導入方法については参考資料を参照。 まずrails newコマンドで新規プロジェクトを作成する際に-Tオプションを付けて、testディレクトリを作成させないようになる。 $ rails new new_project -T 次にconf…

Machinist+DatasetでFixture代替

概要 Machinistは定義された条件下でテストデータを生成するプラグイン・gem。 DatasetはRubyのコードで記述したテストデータをDBに読み込むプラグイン・gem。 この2つを組み合わせることで(比較的)メンテナンスのしやすいfixtureの代替を構築することが可…

install rspec

いつも忘れるのでメモ: $ ruby script/plugin install git://github.com/dchelimsky/rspec.git -r 'refs/tags/1.2.8' $ ruby script/plugin install git://github.com/dchelimsky/rspec-rails.git -r 'refs/tags/1.2.7.1' $ ruby script/generate rspec 追…

Growlでautospecの結果を表示

Growlの準備 Growlをインストール インストーラと一緒に入っているExtra/growlnotify/install.shを実行する autotest + growl で楽々テストを参考に、Growlが「受信される通知を聞く」、「リモートアプリケーション登録を許可」するように環境設定パネルから…