rails/activesupport/test/testing/after_teardown_test.rb
Michael Grosser 203998c916
allow running each test with pure ruby path/to/test.rb
also:
 - makes test dependencies obvious
 - makes tests runnable from within subfolders
2019-12-18 08:49:19 -06:00

37 lines
659 B
Ruby

# frozen_string_literal: true
require_relative "../abstract_unit"
module OtherAfterTeardown
def after_teardown
super
@witness = true
end
end
class AfterTeardownTest < ActiveSupport::TestCase
include OtherAfterTeardown
attr_writer :witness
MyError = Class.new(StandardError)
teardown do
raise MyError, "Test raises an error, all after_teardown should still get called"
end
def after_teardown
assert_changes -> { failures.count }, from: 0, to: 1 do
super
end
assert_equal true, @witness
failures.clear
end
def test_teardown_raise_but_all_after_teardown_method_are_called
assert true
end
end