Sha256: 37d302dbd112dd092e58ef05e561f5512fc46afee170e34a4e6830b4b0fa1958
Contents?: true
Size: 856 Bytes
Versions: 1
Compression:
Stored size: 856 Bytes
Contents
module SimpleAssertions # Adds attribute matcher to +assert_raises+. # # == Example # # # old behaviour # assert_raises(StandardError) { ... } # # # exact match on attribute message # assert_raises(RuntimeError, :message => "yay!") do # raise "yay!" # end # # # pattern match on attributes # assert_raises(MyError, :message => /foo/, :code => 23) do # raise MyError, "foo bar", 23 # end module AssertRaises def assert_raises(*args, &block) attributes = args.last.is_a?(Hash) ? args.pop : {} exception = super(*args, &block).tap do |exception| attributes.each do |attribute, expected| assert_respond_to exception, attribute actual = exception.public_send(attribute) assert_operator expected, :===, actual end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple_assertions-0.3.0 | lib/simple_assertions/assert_raises.rb |