Class: RuboCop::Cop::Minitest::UselessAssertion

Inherits:
Base
  • Object
show all
Defined in:
lib/rubocop/cop/minitest/useless_assertion.rb

Overview

Detects useless assertions (assertions that either always pass or always fail).

Examples:

# bad
assert true
assert_equal @foo, @foo
assert_nil [foo, bar]

# good
assert something
assert_equal foo, bar
assert_nil foo
assert false, "My message"

Constant Summary collapse

MSG =
'Useless assertion detected.'
SINGLE_ASSERTION_ARGUMENT_METHODS =
i[
  assert refute assert_nil refute_nil assert_not assert_empty refute_empty
].freeze
TWO_ASSERTION_ARGUMENTS_METHODS =
i[
  assert_equal refute_equal assert_in_delta refute_in_delta
  assert_in_epsilon refute_in_epsilon assert_same refute_same
].freeze
RESTRICT_ON_SEND =
SINGLE_ASSERTION_ARGUMENT_METHODS +
TWO_ASSERTION_ARGUMENTS_METHODS +
i[assert_includes refute_includes assert_silent]

Instance Method Summary collapse

Instance Method Details

#on_send(node) ⇒ Object



35
36
37
38
39
# File 'lib/rubocop/cop/minitest/useless_assertion.rb', line 35

def on_send(node)
  return if node.receiver

  add_offense(node) if offense?(node)
end