Sha256: 02b150cfedebd729182c314c08b211750d47815ef70de5bc427d4997771b1ae7
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true require "minitest" require_relative "aggregate_assertions/version" require_relative "aggregate_assertions/assertion_aggregator" module AggregateAssertions # Contains patches to the Minitest::Test class module TestPatch def assert(test, msg = nil) super rescue Minitest::Assertion, StandardError => e raise unless AssertionAggregator.active? AssertionAggregator.add_error(e) end 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 end end Minitest::Test.prepend(AggregateAssertions::TestPatch)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
aggregate_assertions-0.1.1 | lib/aggregate_assertions.rb |
aggregate_assertions-0.1.0 | lib/aggregate_assertions.rb |