class RuboCop::Cop::RSpec::UnspecifiedException
Checks for a specified error in checking raised errors.
Enforces one of an Exception type, a string, or a regular expression to match against the exception message as a parameter to `raise_error`
@example
# bad expect { raise StandardError.new('error') }.to raise_error # good expect { raise StandardError.new('error') }.to raise_error(StandardError) expect { raise StandardError.new('error') }.to raise_error('error') expect { raise StandardError.new('error') }.to raise_error(/err/) expect { do_something }.not_to raise_error
Constants
- MSG
Public Instance Methods
block_with_args?(node)
click to toggle source
# File lib/rubocop/cop/rspec/unspecified_exception.rb, line 58 def block_with_args?(node) return unless node&.block_type? node.arguments? end
empty_exception_matcher?(node)
click to toggle source
# File lib/rubocop/cop/rspec/unspecified_exception.rb, line 54 def empty_exception_matcher?(node) empty_raise_error_or_exception(node) && !block_with_args?(node.parent) end
on_send(node)
click to toggle source
# File lib/rubocop/cop/rspec/unspecified_exception.rb, line 45 def on_send(node) return unless empty_exception_matcher?(node) add_offense( node.children.last, location: :expression ) end