class Test::Unit::AssertionFailedError

def debug_on_failure

def debug_on_failure
  return unless self.class.debug_on_failure?
  begin
    require "debug"
  rescue LoadError
    return
  end
  return unless binding.respond_to?(:break)
  frames = caller(0)
  pre = nil
  Util::BacktraceFilter.filter_backtrace(frames).each do |location|
    frame_index = frames.index(location)
    next if frame_index.nil?
    pre = "frame #{frame_index}"
    break
  end
  binding.break(pre: pre)
end