RSpec で shared_context を使ってみる
Ruby Ruby on Rails
Published: 2019-07-29

やったこと

rspec で shared_context を使ってみます。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

$ rails --version
Rails 5.2.3

$ gem list | grep rspec-rails
rspec-rails (3.8.2)

調査

実験

spec/models/task10_spec.rb

require 'rails_helper'

shared_examples 'Example Login' do
  it 'should be hogehoge' do
  end
end

RSpec.describe Task, type: :model do

  context '例) ログインしているユーザー' do
    it_behaves_like 'Example Login'
  end
end

出力結果

$ rspec spec/models/task10_spec.rb

Task
  例) ログインしているユーザー
    behaves like Example Login
      should be hogehoge

Finished in 0.0028 seconds (files took 3.85 seconds to load)
1 example, 0 failures

エイリアス

  • shared_examples_for
  • shared_context

これらのメソッドは、shared_examples のエイリアスです。

参考