2014/03/17(月) に Ustream 上で行われた RSpec の 勉強会 RSpec 初心者に送る RSpec 最強チュートリアル ~ RubyMine もあるよ! ~ SonicGarden Study #08
を視聴しました。見逃した方も Ustream のチャンネル登録をすることで、録画された動画を視聴することが出来ます。
RSpec のライブコーディング
RSpec について体系的に学べる良書『RSpec による Rails テスト入門』に掲載されているモデルのテストに焦点を当てて、ライブコーディングをしていました。そもそも、日本語のこういう RSpec に関する動画って、あんまり観たことが無かったのでとても新鮮でした。
RubyMine
ライブコーディングで RubyMine を利用していました。Ruby や Rails を初めたばかりの頃、私は RubyMine で開発していたんですよね、そういえば。ちょうど、Rails3 がリリースされたくらいで、微妙に対応してたり、していなかったりみたいな時期で、途中から TextMate に乗り換えたという経緯があります。
最近はどうなんだろう?とググった結果、以下のような記事を見つけました。結構、今は人気が出ていてユーザーも多いんでしょうかね。昔は Eclipse バリバリだったくせに、今は軽量なエディタでないと精神が持たないのはおっさんになったからでしょうかね。
モデルのバリデーションテストの必要性
モデルのバリデーションは、大抵、記述すれば定義されるため、敢えて、テストを書く必要性ってあるんだろうかという質問がありました。書籍にも記述されていましたが、バリデーションは書き忘れやすいので、テストを書きながらバリデーションについて考えた方が良いようですね。
it と specify の使い分け
it と specify はただのエイリアスなので、どちらで記述しても問題はありません。ただ、やっぱり、どう使い分けるかみたいな質問がされていました。ここでは、英語としての読みやすさで変えたりすると良いのではという回答がされていました。
ちょうど、某チャットでも同じような話題が出ていて、そこでは、こんな感じの意見が挙がっていました。
subject
に対するテストを書く際はit
を使う。it
の中でテスト対象を定義する際に、subject
に対するit
と混同されて分かりにくい場合はspecify
を使う。- 説明が必要な場合は
it
を使い、不要な場合はspecify
を使う。
まとめ
とりあえず、もっとテスト書いて体に染み込ませよう。
余談
とても落ち着いた口調で聞き取りやすかったですし、書籍と同じように丁寧で親切な説明でした。