Class: RuboCop::Cop::RSpec::Be

Inherits:
Base
  • Object
show all
Defined in:
lib/rubocop/cop/rspec/be.rb

Overview

Check for expectations where `be` is used without argument.

The `be` matcher is too generic, as it pass on everything that is not nil or false. If that is the exact intend, use `be_truthy`. In all other cases it's better to specify what exactly is the expected value.

Examples:


# bad
expect(foo).to be

# good
expect(foo).to be_truthy
expect(foo).to be 1.0
expect(foo).to be(true)

Constant Summary collapse

MSG =
'Don\'t use `be` without an argument.'

Instance Method Summary collapse

Methods inherited from Base

inherited, #on_new_investigation

Methods included from RSpec::Language::NodePattern

#block_pattern, #send_pattern

Instance Method Details

#on_send(node) ⇒ Object


29
30
31
32
33
# File 'lib/rubocop/cop/rspec/be.rb', line 29

def on_send(node)
  be_without_args(node) do |matcher|
    add_offense(matcher.loc.selector)
  end
end