Persistence

技術メモなど

Everyday Railsを写経する(その1)

最近とあるプロジェクトに参加させてもらって、そのお陰でテストコードを書く機会に恵まれたのは良いのだけど、なにせほとんど書いたことないものだから全然わからない。ということで「Everyday Rails… Aaron Sumner 著 et al. [Leanpub PDF/iPad/Kindle]」を使って勉強を始めました。

今日は「3.モデルスペック」の前半、DRYにするの前まで。モデルのvalidationとmethodのテストの書き方について勉強しました。ここでモデルのmatcherについて書くのはDRYじゃないので、リファレンスのURLだけにしておきます。

rspec/rspec-expectations · GitHub

methodのテストで便利なものにchangeというmatcherがあります。値が変更されたかどうかを検証するのと、メソッドチェインで.from(元の値)、.to(変更後の値)、.by(差分)も同時に検証できる。サンプルはリファレンスの「Composing Matchers」にあります。