def hook
assertion_error_class = self.assertion_error_class
test_case_class.class_eval do
include RR::DSL
include Mixin
unless instance_methods.any? { |method_name| method_name.to_sym == :setup_with_rr }
alias_method :setup_without_rr, :setup
define_method(:setup_with_rr) do
setup_without_rr
RR.reset
RR.trim_backtrace = true
RR.overridden_error_class = assertion_error_class
end
alias_method :setup, :setup_with_rr
alias_method :teardown_without_rr, :teardown
define_method(:teardown_with_rr) do
begin
RR.verify
ensure
teardown_without_rr
end
end
alias_method :teardown, :teardown_with_rr
end
end
end