Rspecのdescribe context example it

Rspecのdescribe context example it

EveryDayRailsの3章で出てきた、describe context example itについてまとめてみようと思います。

describe

訳 : 説明

テスト全体に対しての、ざっくりとした説明を記載する。

Ex.

  • search message for a term(用語の検索メッセージについて)
describe '説明文' do
  ....
end

context

訳 : 状況、背景

そのテスト内の条件分岐を記載する。

Ex.

  • when a matach is found(マッチした文字列が見つかった時)
  • when no match is found(マッチした文字列が無い時)
describe '説明文' do
  context '○○のとき' do
  end
  
  context '○○のとき' do
  end
end

it

rspecコマンド実行時の表示、テスト内容を記載する。

Ex.

  • returns notes that match the search term(検索した文字列とマッチしたノートを返す)
  • returns an empty collection(空のノートを返す)
describe '説明文' do
  context '○○のとき' do
    it 'テストの内容、期待すること' do
    end
  end
  
  context '○○のとき' do
    it 'テストの内容、期待すること' do
    end
  end
end

example

itのエイリアスです。specifyも同様。

自然な英文を作るように使い分けが必要です。

describe '説明文' do
  context '○○のとき' do
    example 'テストの内容、期待すること' do
    end
  end
  
  context '○○のとき' do
    specify 'テストの内容、期待すること' do
    end
  end
end

まとめ

describe > context > it(example specify)のように、テストケースを記載していきます。

その際に、それぞれでbeforeを使用することによってDRYな書き方も可能になります。

そちらは、次回記載しようと思います。

参考リンク