Everyday Rails 1〜3まで読んで印象に残った箇所のメモ

Pocket
LINEで送る

テストコード自体に問題がないか確認するために

  • to_not を使って結果が失敗になることを確認する
  • アプリケーション側のコードを変更して、結果が変わることを確認する

 

describeとcontextの使い分け

  • describe: クラスやシステムの機能に関するアウトライン
  • context: 特定の状態に関するアウトライン

 

beforeについて

  • before(:each)はブロック内の各テストごと前に実行される。beforeはbefore(:each)は同意
  • before(:all)はブロック内の前テスト前に一回だけ実行される
  • before(:suite)はテストスイート全体前に一回だけ実行される
  • before(:all)とbefore(:suite)は時間のかかるセットアップを一回だけ実行することにより時間短縮ができるが、テスト全体を汚染する場合があるのでなるべくbefore(:each)を使うべき

 

describeにメソッド名を書いてある場合があるがこのラベルは振る舞いを定義するものなので、メソッドを書くべきではない

※ ただ個人的にはメソッド単位でテストを書く場合には、メソッド名で書くほうがわかりやすいと思ったのでメソッド名とそのメソッドの振る舞いの両方を書こうと思う。

Pocket
LINEで送る