Rspecでテストを書いていてdescribe, context, it, exampleで迷ったのでメモ。ここをちゃんと役割分担してかくと非常に読みやすくなります。
各役割
- describe→どこをテストするのかを書く(テスト対象のメソッド名を指定することが多いです)
- User#login
- Order#cancel
- context: どういう条件でテストするの書く
- ユーザーがログインしている場合
- ユーザーがログインしていない場合
- 仮登録の場合
- it: どういう結果を期待しているのかを書く
- true が返ること
- user の updated_at が現在時刻に更新されていること
itとexampleの使い分け
英語だとit、日本語だとexapmleを使うことが多いです。