class RuboCop::Cop::Minitest::AssertSilent

This cop enforces the test to use `assert_silent { … }` instead of using `assert_output('', '') { … }`.

@example

# bad
assert_output('', '') { puts object.do_something }

# good
assert_silent { puts object.do_something }

Constants

MSG

Public Instance Methods

on_block(node) click to toggle source
# File lib/rubocop/cop/minitest/assert_silent.rb, line 29
def on_block(node)
  return unless assert_silent_candidate?(node)

  send_node = node.send_node

  add_offense(send_node) do |corrector|
    corrector.replace(send_node, 'assert_silent')
  end
end

Private Instance Methods

empty_string?(node) click to toggle source
# File lib/rubocop/cop/minitest/assert_silent.rb, line 41
def empty_string?(node)
  node.str_type? && node.value.empty?
end