class RuboCop::Cop::Minitest::AssertNil


assert_nil(actual, ‘the message’)
assert_nil(actual)
# good
assert_equal(nil, actual, ‘the message’)
assert_equal(nil, actual)
# bad
@example
instead of using ‘assert_equal(nil, something)`.
This cop enforces the test to use `assert_nil`

def autocorrect(node)

def autocorrect(node)
  lambda do |corrector|
    arguments = node.arguments.reject(&:nil_type?)
    replacement = arguments.map(&:source).join(', ')
    corrector.replace(node.loc.expression, "assert_nil(#{replacement})")
  end
end

def on_send(node)

def on_send(node)
  assert_equal_with_nil(node) do |actual, message|
    message = message.first
    arguments = [actual.source, message&.source].compact.join(', ')
    add_offense(node, message: format(MSG, arguments: arguments))
  end
end