lib/rspec/matchers/fail_matchers.rb
require 'rspec/expectations'
module RSpec
module Matchers
# Matchers for testing RSpec matchers. Include them with:
#
# require 'rspec/matchers/fail_matchers'
# RSpec.configure do |config|
# config.include RSpec::Matchers::FailMatchers
# end
#
module FailMatchers
# Matches if an expectation fails
#
# @example
# expect { some_expectation }.to fail
def fail(&block)
raise_error(RSpec::Expectations::ExpectationNotMetError, &block)
end
# Matches if an expectation fails with the provided message
#
# @example
# expect { some_expectation }.to fail_with("some failure message")
# expect { some_expectation }.to fail_with(/some failure message/)
def fail_with(message)
raise_error(RSpec::Expectations::ExpectationNotMetError, message)
end
# Matches if an expectation fails including the provided message
#
# @example
# expect { some_expectation }.to fail_including("portion of some failure message")
def fail_including(*snippets)
raise_error(
RSpec::Expectations::ExpectationNotMetError,
a_string_including(*snippets)
)
end
end
end
end