class RuboCop::Cop::RSpec::MultipleDescribes

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.

@example

# bad
describe MyClass, '.do_something' do
end
describe MyClass, '.do_something_else' do
end

# good
describe MyClass do
  describe '.do_something' do
  end
  describe '.do_something_else' do
  end
end

Constants

MSG

Public Instance Methods

on_top_level_group(node) click to toggle source
# 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