コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

rspecのExampleとExampleGroupの仲間を軽くまとめる

説明書いていてもわからなくなるのでまとめる

環境

$ bundle exec rspec -v
RSpec 3.8
  - rspec-core 3.8.0
  - rspec-expectations 3.8.2
  - rspec-mocks 3.8.0
  - rspec-rails 3.8.1
  - rspec-support 3.8.0

まとめ

Exampleの仲間

rspecにおいて、Exampleという実際にテストを行うコードを各ブロックは以下の3つ

  • example
  • it
  • specify

多くは it が使われる、もともとは

it "is name nil" do
  expect(name).to eq(nil)
end

と書けることから it であったが、そぐわない例もあるので、エイリアスとして examplespecify がある

ExampleGroupの仲間

Exampleをまとめる群として以下の2つがある

  • describe
  • context

主に dexcribe は テスト対象に関してのグルーピング(メソッドなど)、 context はテスト時の状態の変化(ex.ユーザが作られているとき)などに使われる

関連リンク