module AggregateAssertions::TestPatch

Contains patches to the Minitest::Test class

Public Instance Methods

aggregate_assertions(label = nil) { || ... } click to toggle source
# File lib/aggregate_assertions.rb, line 18
def aggregate_assertions(label = nil)
  flunk "aggregate_assertions requires a block" unless block_given?

  AssertionAggregator.open_failure_group(label)

  begin
    yield
  rescue Minitest::Assertion, StandardError => e
    AssertionAggregator.add_error(e)
  ensure
    failure_group = AssertionAggregator.close_failure_group
  end

  return if failure_group.success?

  raise failure_group.error unless AssertionAggregator.active?

  AssertionAggregator.add_error(failure_group.error)
end
assert(test, msg = nil) click to toggle source
Calls superclass method
# File lib/aggregate_assertions.rb, line 10
def assert(test, msg = nil)
  super
rescue Minitest::Assertion, StandardError => e
  raise unless AssertionAggregator.active?

  AssertionAggregator.add_error(e)
end