Class: RuboCop::Cop::RSpec::MultipleDescribes
- Includes:
- TopLevelGroup
- Defined in:
- lib/rubocop/cop/rspec/multiple_describes.rb
Overview
Checks for multiple top-level example groups.
Multiple descriptions for the same class or module should either be nested or separated into different test files.
Constant Summary collapse
- MSG =
'Do not use multiple top-level example groups - try to nest them.'
Instance Method Summary collapse
Methods included from TopLevelGroup
#on_new_investigation, #top_level_groups
Methods inherited from Base
inherited, #on_new_investigation
Methods included from RSpec::Language
#example?, #example_group?, #example_group_with_body?, #explicit_rspec?, #hook?, #include?, #let?, #rspec?, #shared_group?, #spec_group?, #subject?
Instance Method Details
#on_top_level_group(node) ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/rubocop/cop/rspec/multiple_describes.rb', line 31 def on_top_level_group(node) top_level_example_groups = top_level_groups.select { |group| example_group?(group) } return if top_level_example_groups.one? return unless top_level_example_groups.first.equal?(node) add_offense(node.send_node) end |