環境
Ruby 2.6.6
Rails 6.1.3
rspec-rails 3.9.1
事象
rspec実行で以下のエラーが発生
server# bundle exec rspec ./spec/models/article_spec.rb
FFF
Failures:
1) Article title blankの時に invalidになる
Failure/Error:
raise WrongScopeError,
"`#{name}` is not available from within an example (e.g. an " \
"`it` block) or from constructs that run in the scope of an " \
"example (e.g. `before`, `let`, etc). It is only available " \
"on an example group (e.g. a `describe` or `context` block)."
`name` is not available from within an example (e.g. an `it` block) or from constructs that run in the scope of an example (e.g. `before`, `let`, etc). It is only available on an example group (e.g. a `describe` or `context` block).
解決方法
rspec-railsのissueにて本件の対応方法のやりとりがされていました。
まとめるとrails6でrspec-rails3.xのバーションではエラーになるみたいです。
なのでrspec-railsのバージョンを4.0.1(2021/03時点)にすることでエラーは発生しなくなりました。
gem "rspec-rails", "~> 4.0.1"
server# bundle exec rspec ./spec/models/article_spec.rb
...
Finished in 0.16515 seconds (files took 6.19 seconds to load)
3 examples, 0 failures