やったこと
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
のエイリアスです。