Sha256: 6870e2e15d9ff40ad978aee82d2635e6c573e0fbf3cd98fe119cd57a8c54d758
Contents?: true
Size: 1.33 KB
Versions: 195
Compression:
Stored size: 1.33 KB
Contents
# frozen_string_literal: true require "active_support/callbacks" module ActiveSupport module Testing # Adds support for +setup+ and +teardown+ callbacks. # These callbacks serve as a replacement to overwriting the # <tt>#setup</tt> and <tt>#teardown</tt> methods of your TestCase. # # class ExampleTest < ActiveSupport::TestCase # setup do # # ... # end # # teardown do # # ... # end # end module SetupAndTeardown def self.prepended(klass) klass.include ActiveSupport::Callbacks klass.define_callbacks :setup, :teardown klass.extend ClassMethods end module ClassMethods # Add a callback, which runs before <tt>TestCase#setup</tt>. def setup(*args, &block) set_callback(:setup, :before, *args, &block) end # Add a callback, which runs after <tt>TestCase#teardown</tt>. def teardown(*args, &block) set_callback(:teardown, :after, *args, &block) end end def before_setup # :nodoc: super run_callbacks :setup end def after_teardown # :nodoc: begin run_callbacks :teardown rescue => e self.failures << Minitest::UnexpectedError.new(e) end super end end end end
Version data entries
195 entries across 180 versions & 23 rubygems